diff --git a/src/d_clisrv.c b/src/d_clisrv.c
index 312a308a101b76acc66a3459b540e7db48922af5..1f83b8dabc9966f737d343a1518b447f13d5e174 100644
--- a/src/d_clisrv.c
+++ b/src/d_clisrv.c
@@ -4529,8 +4529,8 @@ static inline void PingUpdate(void)
 	}
 
 	//send out our ping packets
-	for (i = 0; i < MAXPLAYERS; i++)
-		if (playeringame[i])
+	for (i = 0; i < MAXNETNODES; i++)
+		if (nodeingame[i])
 			HSendPacket(i, true, 0, sizeof(INT32) * MAXPLAYERS);
 
 	pingmeasurecount = 1; //Reset count
@@ -4571,9 +4571,9 @@ void NetUpdate(void)
 	if (server)
 	{
 		// update node latency values so we can take an average later.
-		for (i = 0; i < MAXNETNODES; i++)
+		for (i = 0; i < MAXPLAYERS; i++)
 			if (playeringame[i])
-				realpingtable[i] += G_TicsToMilliseconds(GetLag(i));
+				realpingtable[i] += G_TicsToMilliseconds(GetLag(playernode[i]));
 		pingmeasurecount++;
 	}
 #endif