diff --git a/cpu/arm946es/start.S b/cpu/arm946es/start.S
index 9375c76fd9f5dc76ab1ed6d5caaa56fc2cbd68b7..627e3cb94db5beb2ea736bf0cc3e714803857961 100644
--- a/cpu/arm946es/start.S
+++ b/cpu/arm946es/start.S
@@ -133,7 +133,7 @@ reset:
 	 * we do sys-critical inits only at reboot,
 	 * not when booting from ram!
 	 */
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
 	bl	cpu_init_crit
 #endif
 
@@ -192,6 +192,7 @@ _start_armboot:
  */
 
 
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
 cpu_init_crit:
 	/*
 	 * flush v4 I/D caches
@@ -217,6 +218,7 @@ cpu_init_crit:
 	bl	lowlevel_init	/* go setup memory */
 	mov	lr, ip		/* restore link */
 	mov	pc, lr		/* back to my caller */
+#endif
 /*
  *************************************************************************
  *
diff --git a/cpu/arm_intcm/start.S b/cpu/arm_intcm/start.S
index 00314613d530d671ef3d8a2a567d20fe267cdc2b..bb1f003592a6322a012cf40cc2cb839e332d16b6 100644
--- a/cpu/arm_intcm/start.S
+++ b/cpu/arm_intcm/start.S
@@ -131,7 +131,7 @@ reset:
 	 * we do sys-critical inits only at reboot,
 	 * not when booting from ram!
 	 */
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
 	bl	cpu_init_crit
 #endif
 
@@ -188,11 +188,13 @@ _start_armboot:
  *************************************************************************
  */
 
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
 cpu_init_crit:
 	/*  arm_int_generic assumes the ARM boot monitor, or user software,
 	 * has initialized the platform
 	 */
 	mov	pc, lr		/* back to my caller */
+#endif
 /*
  *************************************************************************
  *
diff --git a/include/configs/SMN42.h b/include/configs/SMN42.h
index 05f6d9fc1af45f96054a26c58de52c2902e69048..adb6ac52e123c43ce0b2da5e7088e9111c87d9b0 100644
--- a/include/configs/SMN42.h
+++ b/include/configs/SMN42.h
@@ -30,8 +30,6 @@
  * If we are developing, we might want to start u-boot from ram
  * so we MUST NOT initialize critical regs like mem-timing ...
  */
-#undef CONFIG_INIT_CRITICAL		/* undef for developing */
-
 #undef CONFIG_SKIP_LOWLEVEL_INIT
 #undef CONFIG_SKIP_RELOCATE_UBOOT
 
diff --git a/include/configs/armadillo.h b/include/configs/armadillo.h
index 7ba5e174e2d1f1e799dd6ff044577a972029c0b3..f7eec276858169fb9f88218f9167ba215989b1c4 100644
--- a/include/configs/armadillo.h
+++ b/include/configs/armadillo.h
@@ -34,7 +34,7 @@
  * If we are developing, we might want to start armboot from ram
  * so we MUST NOT initialize critical regs like mem-timing ...
  */
-/*#define	CONFIG_INIT_CRITICAL*/		/* undef for developing */
+#undef  CONFIG_SKIP_LOWLEVEL_INIT
 
 /*
  * High Level Configuration Options
diff --git a/include/configs/gcplus.h b/include/configs/gcplus.h
index b2fbca2f3c2d564539592f4021d5019e213588bf..85db4f5c773bee8750be018b4f9afe3e38531d49 100644
--- a/include/configs/gcplus.h
+++ b/include/configs/gcplus.h
@@ -36,7 +36,7 @@
  * e.g. bootp/tftp download of the kernel is a far more convenient
  * when testing new kernels on this target. However the ADS GCPlus Linux
  * boot ROM leaves the MMU enabled when it passes control to U-Boot. So
- * we use lowlevel_init (CONFIG_INIT_CRITICAL) to remedy that problem.
+ * we use lowlevel_init (!CONFIG_SKIP_LOWLEVEL_INIT) to remedy that problem.
  */
 #undef  CONFIG_SKIP_LOWLEVEL_INIT
 #define CONFIG_SKIP_RELOCATE_UBOOT	1
diff --git a/include/configs/integratorap.h b/include/configs/integratorap.h
index 38c024953ea0444ea5c3169a5ab721c04b5cf0a9..09270ff0a80d0ca09a7baf4278d6c701a245f4c0 100644
--- a/include/configs/integratorap.h
+++ b/include/configs/integratorap.h
@@ -44,7 +44,7 @@
 #define CONFIG_SETUP_MEMORY_TAGS	1
 #define CONFIG_MISC_INIT_R	1	/* call misc_init_r during start up */
 
-#undef CONFIG_INIT_CRITICAL
+#define CONFIG_SKIP_LOWLEVEL_INIT
 #define CONFIG_CM_INIT		1
 #define CONFIG_CM_REMAP		1
 #undef CONFIG_CM_SPD_DETECT
diff --git a/include/configs/lpc2292sodimm.h b/include/configs/lpc2292sodimm.h
index 15150387938af4a5f828fe89c96b1c683f9a416f..7ce8d6de1ff81e6d1f13e04b3939a80a27e07c0f 100644
--- a/include/configs/lpc2292sodimm.h
+++ b/include/configs/lpc2292sodimm.h
@@ -30,8 +30,6 @@
  * If we are developing, we might want to start u-boot from ram
  * so we MUST NOT initialize critical regs like mem-timing ...
  */
-#undef CONFIG_INIT_CRITICAL		/* undef for developing */
-
 #undef CONFIG_SKIP_LOWLEVEL_INIT
 #undef CONFIG_SKIP_RELOCATE_UBOOT