diff --git a/src/p_savenetrb.c b/src/p_savenetrb.c
index 05ed3be77d3fe988bf926d1853537b7951ad8eaa..3a6d057a9fbc25ab7870a248f234b123d9cbdbab 100755
--- a/src/p_savenetrb.c
+++ b/src/p_savenetrb.c
@@ -4688,6 +4688,10 @@ static void P_NetUnArchiveThinkers(void)
 	iquetail = iquehead = 0;
 	// P_InitThinkers();
 
+	// clear flags (necessary for level-preserving loads)
+	redflag = NULL;
+	blueflag = NULL;
+
 	// clear sector thinker pointers so they don't point to non-existant thinkers for all of eternity
 	for (i = 0; i < numsectors; i++)
 	{