diff --git a/src/d_netcmd.c b/src/d_netcmd.c
index 9d4156e1df94356f2d92dc87826f9d9de8278b21..33281e9924c8c73c7acf3638ac6c90968b2bd316 100644
--- a/src/d_netcmd.c
+++ b/src/d_netcmd.c
@@ -1925,6 +1925,7 @@ static void Command_Map_f(void)
 	newresetplayers = ! COM_CheckParm("-noresetplayers");
 
 	prevent_cheat = !( usedCheats ) && !( option_force || cv_debug );
+	set_cheated = false;
 
 	if (!( netgame || multiplayer ))
 	{
diff --git a/src/m_cond.c b/src/m_cond.c
index 3dfb1dceb2c9531d7362a2024ba512d28baf6c8a..6c87ebf6e5d8fb30789be6b5675f10daa574a22e 100644
--- a/src/m_cond.c
+++ b/src/m_cond.c
@@ -528,7 +528,7 @@ UINT8 M_CampaignWarpIsCheat(INT32 gt, INT32 mapnum, gamedata_t *data)
 	}
 
 	// It's only a cheat if you've never been there.
-	return (!(data->mapvisited[mapnum]));
+	return (!(data->mapvisited[mapnum-1]));
 }
 
 INT32 M_CountEmblems(gamedata_t *data)