diff --git a/common/runtime_svc.c b/common/runtime_svc.c
index 6e8a1bb..1628e8d 100644
--- a/common/runtime_svc.c
+++ b/common/runtime_svc.c
@@ -119,24 +119,25 @@
 			goto error;
 		}
 
-		/*
-		 * Fill the indices corresponding to the start and end owning
-		 * entity numbers with the index of the descriptor which will
-		 * handle the SMCs for this owning entity range.
-		 */
-		start_idx = get_unique_oen(rt_svc_descs[index].start_oen,
-					   rt_svc_descs[index].call_type);
-		end_idx = get_unique_oen(rt_svc_descs[index].end_oen,
-					 rt_svc_descs[index].call_type);
-		for (; start_idx <= end_idx; start_idx++)
-			rt_svc_descs_indices[start_idx] = index;
-
 		/* Call the initialisation routine for this runtime service */
 		rc = rt_svc_descs[index].init();
 		if (rc) {
 			ERROR("Error initializing runtime service %s\n",
 					rt_svc_descs[index].name);
-			goto error;
+		} else {
+			/*
+			 * Fill the indices corresponding to the start and end
+			 * owning entity numbers with the index of the
+			 * descriptor which will handle the SMCs for this owning
+			 * entity range.
+			 */
+			start_idx = get_unique_oen(rt_svc_descs[index].start_oen,
+					rt_svc_descs[index].call_type);
+			end_idx = get_unique_oen(rt_svc_descs[index].end_oen,
+					rt_svc_descs[index].call_type);
+
+			for (; start_idx <= end_idx; start_idx++)
+				rt_svc_descs_indices[start_idx] = index;
 		}
 	}
 
