diff --git a/src/d_netcmd.c b/src/d_netcmd.c
index 7fd10d081569a941c10e6e28bc86f234194302af..66c90f91996ff153da6747c26c00056ee12f3583 100644
--- a/src/d_netcmd.c
+++ b/src/d_netcmd.c
@@ -3960,7 +3960,7 @@ static void Command_Archivetest_f(void)
 	}
 
 	// assign mobjnum
-	i = 0;
+	i = 1;
 	for (th = thinkercap.next; th != &thinkercap; th = th->next)
 		if (th->function.acp1 == (actionf_p1)P_MobjThinker)
 			((mobj_t *)th)->mobjnum = i++;
diff --git a/src/p_saveg.c b/src/p_saveg.c
index 5e457ca3ab30a62f354ff908f0cbb29bcf7eda6c..14386ff15a96fdc60bb5f7b3a13734674a01d6bb 100644
--- a/src/p_saveg.c
+++ b/src/p_saveg.c
@@ -3285,7 +3285,7 @@ void P_SaveNetGame(void)
 {
 	thinker_t *th;
 	mobj_t *mobj;
-	INT32 i = 0;
+	INT32 i = 1; // don't start from 0, it'd be confused with a blank pointer otherwise
 
 	CV_SaveNetVars(&save_p);
 	P_NetArchiveMisc();