diff --git a/src/p_saveg.c b/src/p_saveg.c
index 8f6e3bd36c3187f35dba5e55fece3530f68dab14..6f80949ead2e583d6aad07aeef506dcd691ccd1d 100644
--- a/src/p_saveg.c
+++ b/src/p_saveg.c
@@ -725,7 +725,7 @@ static void P_NetArchiveWaypoints(void)
 	{
 		WRITEUINT16(save_p, numwaypoints[i]);
 		for (j = 0; j < numwaypoints[i]; j++)
-			WRITEUINT32(save_p, waypoints[i][j] ? waypoints[i][j]->mobjnum : 0xffff);
+			WRITEUINT32(save_p, waypoints[i][j] ? waypoints[i][j]->mobjnum : 0);
 	}
 }
 
@@ -740,7 +740,7 @@ static void P_NetUnArchiveWaypoints(void)
 		for (j = 0; j < numwaypoints[i]; j++)
 		{
 			mobjnum = READUINT32(save_p);
-			waypoints[i][j] = (mobjnum == 0xffff) ? NULL : P_FindNewPosition(mobjnum);
+			waypoints[i][j] = (mobjnum == 0) ? NULL : P_FindNewPosition(mobjnum);
 		}
 	}
 }