diff --git a/src/console.c b/src/console.c
index c7bfe0fe18bd2a016757424b625dfefdc1596944..3785136af37a9ea2484ceeda421692fc002ed1e8 100644
--- a/src/console.c
+++ b/src/console.c
@@ -484,6 +484,19 @@ void CON_Init(void)
 		Unlock_state();
 	}
 }
+
+void CON_StartRefresh(void)
+{
+	if (con_startup)
+		con_refresh = true;
+}
+
+void CON_StopRefresh(void)
+{
+	if (con_startup)
+		con_refresh = false;
+}
+
 // Console input initialization
 //
 static void CON_InputInit(void)
diff --git a/src/console.h b/src/console.h
index 0296f4f6e658e82a01d78a2ae05f636d90e411ed..db27d9358fef2f9059df030a13054fb8650b9d3b 100644
--- a/src/console.h
+++ b/src/console.h
@@ -16,6 +16,9 @@
 
 void CON_Init(void);
 
+void CON_StartRefresh(void);
+void CON_StopRefresh(void);
+
 boolean CON_Responder(event_t *ev);
 
 #ifdef HAVE_THREADS
diff --git a/src/d_main.c b/src/d_main.c
index a89f4ed2dc93af3efc4fd3acd59647b1dd208668..7d25208e79d7a2defbaf1a007021a12e4d7d8d70 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -1275,10 +1275,14 @@ void D_SRB2Main(void)
 
 	I_RegisterSysCommands();
 
+	CON_StopRefresh(); // Temporarily stop refreshing the screen for wad loading
+
 	CONS_Printf("W_InitMultipleFiles(): Adding extra PWADs.\n");
 	W_InitMultipleFiles(startuppwads);
 	D_CleanFile(startuppwads);
 
+	CON_StartRefresh(); // Restart the refresh!
+
 	CONS_Printf("HU_LoadGraphics()...\n");
 	HU_LoadGraphics();