diff --git a/common/main.c b/common/main.c
index 10d8904170b2709ccc0d96d3d6e17698945c036e..c860b0b0e52b5edce3e92aa7dd0e506f09af764a 100644
--- a/common/main.c
+++ b/common/main.c
@@ -305,10 +305,6 @@ void main_loop (void)
 	trab_vfd (bmp);
 #endif	/* CONFIG_VFD && VFD_TEST_LOGO */
 
-#if defined(CONFIG_UPDATE_TFTP)
-	update_tftp ();
-#endif /* CONFIG_UPDATE_TFTP */
-
 #ifdef CONFIG_BOOTCOUNT_LIMIT
 	bootcount = bootcount_load();
 	bootcount++;
@@ -369,6 +365,10 @@ void main_loop (void)
 	}
 #endif /* CONFIG_PREBOOT */
 
+#if defined(CONFIG_UPDATE_TFTP)
+	update_tftp ();
+#endif /* CONFIG_UPDATE_TFTP */
+
 #if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0)
 	s = getenv ("bootdelay");
 	bootdelay = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;