diff --git a/src/p_user.c b/src/p_user.c
index 97ee04a28b5cdaeaba3a425a63d73f8079e4ace2..edc4d8a5860eea55a128aeeb3c1501b7d6100eef 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -8836,7 +8836,7 @@ void P_PlayerThink(player_t *player)
 	{
 		if (cv_playersforexit.value)
 		{
-			INT32 i, total = 0, exiting = 0;
+			INT32 i;
 
 			for (i = 0; i < MAXPLAYERS; i++)
 			{
@@ -8845,12 +8845,11 @@ void P_PlayerThink(player_t *player)
 				if (players[i].lives <= 0)
 					continue;
 
-				total++;
-				if (players[i].exiting && players[i].exiting < 1*TICRATE+1)
-					exiting++;
+				if (!players[i].exiting || players[i].exiting > 1*TICRATE)
+					break;
 			}
 
-			if (!total || ((4*exiting)/total) >= cv_playersforexit.value)
+			if (i == MAXPLAYERS)
 			{
 				exitfadestarted = true;
 				S_FadeOutStopMusic(1*MUSICRATE);