diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index 285d051edef352ffa9f306f79253a8473ed148c9..b83ed6c45669e8e5b11c712f2103e12eb9538682 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -278,10 +278,10 @@ ft_board_setup(void *blob, bd_t *bd)
 
 	if (tmp) {
 		u64 addr;
-		if (addrcells && (*addrcells == 2))
-			addr = *tmp;
-		else
+		if (addrcells && (*addrcells == 1))
 			addr = *(u32 *)tmp;
+		else
+			addr = *tmp;
 
 		if (addr != CONFIG_SYS_CCSRBAR_PHYS)
 			printf("WARNING: The CCSRBAR address in your .dts "