diff --git a/src/d_main.c b/src/d_main.c
index 5853fccf094c0a0d2fe644aa86753154e80b714b..c1feda2c1d8868eba63f5b9a1a622e35387eaaab 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -493,7 +493,7 @@ static void D_Display(void)
 			{
 				lt_ticker--;
 				lt_lasttic = lt_ticker;
-				ST_preLevelTitleCardDrawer(0, false);
+				ST_preLevelTitleCardDrawer();
 				V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, levelfadecol);
 				F_WipeStartScreen();
 			}
diff --git a/src/g_game.c b/src/g_game.c
index 9b0e9d408efcc7ddc0f3a9ab5ac0810a38d5b696..69770bcb7cfbaf68603970009817942da91353f6 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -1828,7 +1828,7 @@ void G_StartTitleCard(void)
 //
 // Run the title card before fading in to the level.
 //
-void G_PreLevelTitleCard(tic_t ticker, boolean update)
+void G_PreLevelTitleCard(void)
 {
 	tic_t starttime = I_GetTime();
 	tic_t endtime = starttime + (PRELEVELTIME*NEWTICRATERATIO);
@@ -1842,7 +1842,8 @@ void G_PreLevelTitleCard(tic_t ticker, boolean update)
 		lasttime = nowtime;
 
 		ST_runTitleCard();
-		ST_preLevelTitleCardDrawer(ticker, update);
+		ST_preLevelTitleCardDrawer();
+		I_FinishUpdate(); // page flip or blit buffer
 
 		if (moviemode)
 			M_SaveFrame();
diff --git a/src/g_game.h b/src/g_game.h
index 0a575c099c6badee900584b9851eadf1dfeed3ef..b4898a68fcb864173efd54d3fd89174bf62ec553 100644
--- a/src/g_game.h
+++ b/src/g_game.h
@@ -141,7 +141,7 @@ void G_DeferedInitNew(boolean pultmode, const char *mapname, INT32 pickedchar,
 	boolean SSSG, boolean FLS);
 void G_DoLoadLevel(boolean resetplayer);
 void G_StartTitleCard(void);
-void G_PreLevelTitleCard(tic_t ticker, boolean update);
+void G_PreLevelTitleCard(void);
 void G_DeferedPlayDemo(const char *demo);
 
 // Can be called by the startup code or M_Responder, calls P_SetupLevel.
diff --git a/src/p_setup.c b/src/p_setup.c
index 25139bf2b91efec2d74a3d2f009bb555f1b8700e..1ae0119e59510d20be2dfbe91e239c228ac435c1 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -3267,7 +3267,7 @@ boolean P_SetupLevel(boolean skipprecip)
 
 	// If so...
 	if ((!(mapheaderinfo[gamemap-1]->levelflags & LF_NOTITLECARD)) && (*mapheaderinfo[gamemap-1]->lvlttl != '\0'))
-		G_PreLevelTitleCard(lt_ticker, true);
+		G_PreLevelTitleCard();
 
 	return true;
 }
diff --git a/src/st_stuff.c b/src/st_stuff.c
index 3a8a4d2f1880f2955e943ac6b769a3c7ee6ef953..f63149848310ba060c565a0427d48a693f78f412 100644
--- a/src/st_stuff.c
+++ b/src/st_stuff.c
@@ -1348,16 +1348,12 @@ luahook:
 //
 // Drawer for G_PreLevelTitleCard.
 //
-void ST_preLevelTitleCardDrawer(tic_t ticker, boolean update)
+void ST_preLevelTitleCardDrawer(void)
 {
 	V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, levelfadecol);
-	if (ticker < PRELEVELTIME-1)
-		ST_drawWipeTitleCard();
-
+	ST_drawWipeTitleCard();
 	I_OsPolling();
 	I_UpdateNoBlit();
-	if (update)
-		I_FinishUpdate(); // page flip or blit buffer
 }
 
 //
diff --git a/src/st_stuff.h b/src/st_stuff.h
index 33ffa957a8002f2798e9c3c0fb7459c95d1c197c..430d29a0d9446ee4585eb25f33cd8db56ae39b9f 100644
--- a/src/st_stuff.h
+++ b/src/st_stuff.h
@@ -52,7 +52,7 @@ void ST_startTitleCard(void);
 void ST_runTitleCard(void);
 void ST_drawTitleCard(void);
 void ST_preDrawTitleCard(void);
-void ST_preLevelTitleCardDrawer(tic_t ticker, boolean update);
+void ST_preLevelTitleCardDrawer(void);
 void ST_drawWipeTitleCard(void);
 
 extern tic_t lt_ticker, lt_lasttic;