diff --git a/arch/arm/cpu/armv7/rmobile/lowlevel_init.S b/arch/arm/cpu/armv7/rmobile/lowlevel_init.S
index 1bd391e8403e7c8a7c4e17d3774752e896d06353..4fdca06491b0613ad3eeeb5997f3cbc1056b874a 100644
--- a/arch/arm/cpu/armv7/rmobile/lowlevel_init.S
+++ b/arch/arm/cpu/armv7/rmobile/lowlevel_init.S
@@ -76,17 +76,7 @@ loop0:
 	bne  loop0
 
 	ldr sp, MERAM_STACK
-
-	str ip, [sp]    /* stash old link register */
-	mov ip, lr      /* save link reg across call */
-
-	bl  s_init
-
-	ldr ip, [sp]    /* restore save ip */
-	mov lr, ip      /* restore link reg */
-
-	/* back to arch calling code */
-	mov pc, lr
+	b s_init
 
 	.pool
 	.align 4