diff --git a/src/d_clisrv.c b/src/d_clisrv.c
index d7d02f9bbece8e1c341aba9f357223b315dd0706..b25e34c566c53617cd27195e88e0f8315b1b7aa2 100755
--- a/src/d_clisrv.c
+++ b/src/d_clisrv.c
@@ -3505,6 +3505,10 @@ static void HandleConnect(SINT8 node)
 	INT32 rejoinernum;
 	INT32 i;
 
+	// Ignore duplicate packets
+	if (netnodes[node].ingame)
+		return;
+
 	rejoinernum = FindRejoinerNum(node);
 
 	const char *refuse = GetRefuseMessage(node, rejoinernum);