diff --git a/src/d_clisrv.c b/src/d_clisrv.c
index 203685cc0e1947477f7164b3cbea697430ac06d2..f47f6637c299593539586497c570b790e9a6c2cc 100644
--- a/src/d_clisrv.c
+++ b/src/d_clisrv.c
@@ -912,7 +912,7 @@ static inline void resynch_read_others(resynchend_pak *p)
 	for (i = 0; i < MAXPLAYERS; ++i)
 	{
 		// We don't care if they're in the game or not, just write all the data.
-		players[i].spectator = !(loc_ingame & (i<<i));
+		players[i].spectator = !(loc_ingame & (1<<i));
 		players[i].ctfteam = (INT32)LONG(p->ctfteam[i]); // no, 0 does not mean spectator, at least not in Match
 		players[i].score = (UINT32)LONG(p->score[i]);
 		players[i].numboxes = SHORT(p->numboxes[i]);