diff --git a/engine/client/cl_parse.c b/engine/client/cl_parse.c index e3f766fdd..9085e0eb1 100644 --- a/engine/client/cl_parse.c +++ b/engine/client/cl_parse.c @@ -3006,9 +3006,15 @@ void CL_ProcessUserInfo (int slot, player_info_t *player) else player->spectator = false; + // If it's us if (slot == cl.playernum[0] && player->name[0]) + { cl.spectator = player->spectator; + // Update the rules since spectators can bypass everything but players can't + CL_CheckServerInfo(); + } + player->model = NULL; if (cls.state == ca_active)