diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S
index 07d0c859cb839a975ab44429f20ee706532c3ee5..e3e646ca6110939ec3ab7c1725ed0b6c322f343a 100644
--- a/arch/arm/cpu/arm1136/start.S
+++ b/arch/arm/cpu/arm1136/start.S
@@ -297,8 +297,10 @@ _nand_boot_ofs
 jump_2_ram:
 	ldr	r0, _board_init_r_ofs
 	adr	r1, _start
-	add	r0, r0, r1
-	add	lr, r0, r9
+	add	lr, r0, r1
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
+	add	lr, lr, r9
+#endif
 	/* setup parameters for board_init_r */
 	mov	r0, r5		/* gd_t */
 	mov	r1, r7		/* dest_addr */
diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
index 69e1a33174f5d1c4970677b3ee4c6db0a43dfd12..7397882b59ea864874a6c2c27bbab42d3def4576 100644
--- a/arch/arm/cpu/arm926ejs/start.S
+++ b/arch/arm/cpu/arm926ejs/start.S
@@ -286,8 +286,10 @@ _nand_boot_ofs:
 #else
 	ldr	r0, _board_init_r_ofs
 	adr	r1, _start
-	add	r0, r0, r1
-	add	lr, r0, r9
+	add	lr, r0, r1
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
+	add	lr, lr, r9
+#endif
 	/* setup parameters for board_init_r */
 	mov	r0, r5		/* gd_t */
 	mov	r1, r7		/* dest_addr */
diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
index b9eb0c9b586d10c781adcb1d063d8a8556531dea..bdf2fad3802f83659eaf11e3da955f2bab303333 100644
--- a/arch/arm/cpu/armv7/start.S
+++ b/arch/arm/cpu/armv7/start.S
@@ -275,8 +275,10 @@ clbss_l:str	r2, [r0]		/* clear loop...		    */
 jump_2_ram:
 	ldr	r0, _board_init_r_ofs
 	adr	r1, _start
-	add	r0, r0, r1
-	add	lr, r0, r9
+	add	lr, r0, r1
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
+	add	lr, lr, r9
+#endif
 	/* setup parameters for board_init_r */
 	mov	r0, r5		/* gd_t */
 	mov	r1, r7		/* dest_addr */
diff --git a/arch/arm/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S
index b8065b70df5f4c8989d93481451bb61a004d7dcd..bf8510eb768a984cd42b2d88f186091f4451bf96 100644
--- a/arch/arm/cpu/pxa/start.S
+++ b/arch/arm/cpu/pxa/start.S
@@ -331,8 +331,10 @@ _start_oneboot_ofs
 #else
 	ldr	r0, _board_init_r_ofs
 	adr	r1, _start
-	add	r0, r0, r1
-	add	lr, r0, r9
+	add	lr, r0, r1
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
+	add	lr, lr, r9
+#endif
 	/* setup parameters for board_init_r */
 	mov	r0, r5		/* gd_t */
 	mov	r1, r7		/* dest_addr */