diff --git a/src/f_finale.c b/src/f_finale.c
index 784d820478af38b429a8ac8b70ee94ea683db1f3..2245a534fdad2b6cf98c64c9a634380f0688dbe8 100644
--- a/src/f_finale.c
+++ b/src/f_finale.c
@@ -1725,6 +1725,7 @@ static void F_AdvanceToNextScene(void)
 
 void F_EndCutScene(void)
 {
+	cutsceneover = true; // do this first, just in case Y_EndGame or something wants to turn it back false later
 	if (runningprecutscene)
 	{
 		if (server)
@@ -1741,7 +1742,6 @@ void F_EndCutScene(void)
 		else
 			Y_EndGame();
 	}
-	cutsceneover = true;
 }
 
 void F_StartCustomCutscene(INT32 cutscenenum, boolean precutscene, boolean resetplayer)