diff --git a/src/p_user.c b/src/p_user.c
index 7e0ef2060d3e60b48881747247519f1a23df8491..d41d503f9275e47b8d27bbb6a18e16f46d677060 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -4551,7 +4551,7 @@ void P_PlayerThink(player_t *player)
 	}
 
 	// tic down the var normaly and remove the flag upon respawn so its guaranteed to be removed from the player
-	if (!player->nocontrol && player->respawn.state == RESPAWNST_DROP && (player->pflags & PF_FAULT))
+	if (!player->nocontrol && !player->respawn.timer && player->respawn.state == RESPAWNST_DROP &&  (player->pflags & PF_FAULT))
 	{
 		player->pflags &= ~PF_FAULT;
 		player->mo->renderflags &= ~RF_DONTDRAW;