diff --git a/src/djgppdos/i_video.c b/src/djgppdos/i_video.c
index b3363a14ebf4d8aea26c6536b50772a953bbaed5..d2483e318654f692d68a5270979c8c11c65326a7 100644
--- a/src/djgppdos/i_video.c
+++ b/src/djgppdos/i_video.c
@@ -90,6 +90,9 @@ static   unsigned long  nombre = NEWTICRATE*10;
 static void I_BlitScreenVesa1(void);   //see later
 void I_FinishUpdate (void)
 {
+	if (marathonmode)
+		SCR_DisplayMarathonInfo();
+
 	// draw captions if enabled
 	if (cv_closedcaptioning.value)
 		SCR_ClosedCaptions();
@@ -101,9 +104,6 @@ void I_FinishUpdate (void)
 	if (cv_showping.value && netgame && consoleplayer != serverplayer)
 		SCR_DisplayLocalPing();
 
-	if (marathonmode)
-		SCR_DisplayMarathonInfo();
-
 	//blast it to the screen
 	// this code sucks
 	//memcpy(dascreen,screens[0],screenwidth*screenheight);
diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c
index e8fe020f01002a5e93d16a37b3664a7a7b1892b5..b591bc4df7ae4223aa647cc1576b8eaee8ac2fe2 100644
--- a/src/sdl/i_video.c
+++ b/src/sdl/i_video.c
@@ -1203,6 +1203,9 @@ void I_FinishUpdate(void)
 	if (I_SkipFrame())
 		return;
 
+	if (marathonmode)
+		SCR_DisplayMarathonInfo();
+
 	// draw captions if enabled
 	if (cv_closedcaptioning.value)
 		SCR_ClosedCaptions();
@@ -1213,9 +1216,6 @@ void I_FinishUpdate(void)
 	if (cv_showping.value && netgame && consoleplayer != serverplayer)
 		SCR_DisplayLocalPing();
 
-	if (marathonmode)
-		SCR_DisplayMarathonInfo();
-
 	if (rendermode == render_soft && screens[0])
 	{
 		SDL_Rect rect;
diff --git a/src/win32/win_vid.c b/src/win32/win_vid.c
index eccec10bcb173e38cee22e99da4e18b79da3c8c9..0f1144a842718358a4c5694fee9bd46661749edf 100644
--- a/src/win32/win_vid.c
+++ b/src/win32/win_vid.c
@@ -366,6 +366,9 @@ void I_FinishUpdate(void)
 	if (I_SkipFrame())
 		return;
 
+	if (marathonmode)
+		SCR_DisplayMarathonInfo();
+
 	// draw captions if enabled
 	if (cv_closedcaptioning.value)
 		SCR_ClosedCaptions();
@@ -377,9 +380,6 @@ void I_FinishUpdate(void)
 	if (cv_showping.value && netgame && consoleplayer != serverplayer)
 		SCR_DisplayLocalPing();
 
-	if (marathonmode)
-		SCR_DisplayMarathonInfo();
-
 	//
 	if (bDIBMode)
 	{