diff --git a/common/main.c b/common/main.c
index 48bed95386aaec840e249ef09b68bbf69e94f62d..fd70928a724e233088e91b955be2596638359a0d 100644
--- a/common/main.c
+++ b/common/main.c
@@ -45,6 +45,10 @@
 #include <fdtdec.h>
 #endif
 
+#ifdef CONFIG_OF_LIBFDT
+#include <fdt_support.h>
+#endif /* CONFIG_OF_LIBFDT */
+
 #include <post.h>
 #include <linux/ctype.h>
 #include <menu.h>
@@ -418,6 +422,10 @@ void main_loop (void)
 #endif /* CONFIG_MENUKEY */
 #endif /* CONFIG_BOOTDELAY */
 
+#if defined CONFIG_OF_CONTROL
+	set_working_fdt_addr((void *)gd->fdt_blob);
+#endif /* CONFIG_OF_CONTROL */
+
 	/*
 	 * Main Loop for Monitor Command Processing
 	 */