diff --git a/src/d_main.c b/src/d_main.c
index eff608281ace942ab1ee2b0febe9d328578b7377..ca40fcb24783aece322647b61d619e2da06beeb2 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -227,7 +227,14 @@ static void D_Display(void)
 		SCR_SetMode(); // change video mode
 
 	if (vid.recalc)
+	{
 		SCR_Recalc(); // NOTE! setsizeneeded is set by SCR_Recalc()
+#ifdef HWRENDER
+		// Shoot! The screen texture was flushed!
+		if ((rendermode == render_opengl) && (gamestate == GS_INTERMISSION))
+			usebuffer = false;
+#endif
+	}
 
 	// change the view size if needed
 	if (setsizeneeded)
diff --git a/src/y_inter.c b/src/y_inter.c
index 335b2a43b47a961e9602c25eaed431a9cc8fb9a9..0a6e3b3fe05ee48d1d5163145b938d90309eae00 100644
--- a/src/y_inter.c
+++ b/src/y_inter.c
@@ -346,7 +346,7 @@ void Y_IntermissionDrawer(void)
 			}
 		}
 #ifdef HWRENDER
-		else if(rendermode != render_soft && usebuffer)
+		else if (rendermode != render_soft && usebuffer)
 			HWR_DrawIntermissionBG();
 #endif
 		else