diff --git a/src/d_main.c b/src/d_main.c
index 3a3a0b26a3ee5213ef7bffb7cd881079e20bea22..bad78c53070174e215416ce1fe9ed51b090c84c0 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -1535,7 +1535,7 @@ void D_SRB2Main(void)
 			I_Error("Cannot find a map remotely named '%s'\n", word);
 		else
 		{
-			if (!M_CheckParm("-server"))
+			if (!(M_CheckParm("-server") || dedicated))
 				G_SetUsedCheats(true);
 			autostart = true;
 		}
diff --git a/src/m_cond.c b/src/m_cond.c
index 5a5913297157e24ada893ca5fad77a4d38ffd3e3..fa6cda223c376b2f458605ec4f99e23e1c28c2d2 100644
--- a/src/m_cond.c
+++ b/src/m_cond.c
@@ -494,6 +494,12 @@ UINT8 M_MapLocked(INT32 mapnum, gamedata_t *data)
 
 UINT8 M_CampaignWarpIsCheat(INT32 gt, INT32 mapnum, gamedata_t *data)
 {
+	if (dedicated)
+	{
+		// See M_MapLocked; don't make dedicated servers annoying.
+		return false;
+	}
+
 	if (M_MapLocked(mapnum, data) == true)
 	{
 		// Warping to locked maps is definitely always a cheat