diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index ce07c4ed86ace5a92be5792af4114836dcbd6291..289a32a644169d0947f432d89c14a90fa22be330 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -689,6 +689,11 @@ void board_init_r (gd_t *id, ulong dest_addr)
 
 	WATCHDOG_RESET ();
 
+	/*
+	 * Setup trap handlers
+	 */
+	trap_init (dest_addr);
+
 #if defined(CONFIG_BOARD_EARLY_INIT_R)
 	board_early_init_r ();
 #endif
@@ -765,11 +770,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
 
 	asm ("sync ; isync");
 
-	/*
-	 * Setup trap handlers
-	 */
-	trap_init (dest_addr);
-
 #if !defined(CONFIG_SYS_NO_FLASH)
 	puts ("FLASH: ");