diff --git a/src/p_tick.c b/src/p_tick.c
index a4b8aa097163a2833ebb67bcb4cf171e5addc272..348f2557c52b87796a2fc4993bc495738d8db69d 100644
--- a/src/p_tick.c
+++ b/src/p_tick.c
@@ -603,7 +603,8 @@ void P_Ticker(boolean run)
 				if (players[i].quittime == 30 * TICRATE)
 					P_CheckSurvivors();
 
-				if (server && players[i].quittime >= FixedMul(cv_rejointimeout.value, 60 * TICRATE))
+				if (server && players[i].quittime >= FixedMul(cv_rejointimeout.value, 60 * TICRATE)
+				&& !(players[i].quittime % TICRATE))
 					SendKick(i, KICK_MSG_PLAYER_QUIT);
 			}
 		}