diff --git a/arch/arm/cpu/armv7/omap-common/spl.c b/arch/arm/cpu/armv7/omap-common/spl.c
index 9c35a090381127d4e593327a0caff192b9e79f75..74fea4fa506c8546be158460b53552dbb40a386d 100644
--- a/arch/arm/cpu/armv7/omap-common/spl.c
+++ b/arch/arm/cpu/armv7/omap-common/spl.c
@@ -115,8 +115,6 @@ void board_init_r(gd_t *id, ulong dummy)
 	mem_malloc_init(CONFIG_SYS_SPL_MALLOC_START,
 			CONFIG_SYS_SPL_MALLOC_SIZE);
 
-	timer_init();
-
 #ifdef CONFIG_SPL_BOARD_INIT
 	spl_board_init();
 #endif
diff --git a/arch/arm/cpu/armv7/omap3/board.c b/arch/arm/cpu/armv7/omap3/board.c
index 1f33c6398c106776d6163eb2bac9a22e02523abd..871aa37df8d4d6de7d935d42cc02135b10dc4775 100644
--- a/arch/arm/cpu/armv7/omap3/board.c
+++ b/arch/arm/cpu/armv7/omap3/board.c
@@ -230,6 +230,8 @@ void s_init(void)
 
 #ifdef CONFIG_SPL_BUILD
 	preloader_console_init();
+
+	timer_init();
 #endif
 
 	if (!in_sdram)