diff --git a/src/d_netcmd.c b/src/d_netcmd.c
index 8917156d7abdc3006d0a3e25d949f50f65a935f7..7a8cf539f6ee330e87e1aa5ed046ee1292dca28c 100644
--- a/src/d_netcmd.c
+++ b/src/d_netcmd.c
@@ -1939,6 +1939,17 @@ static void Command_Map_f(void)
 				d = atoi(gametypename);
 				if (d >= 0 && d < NUMGAMETYPES)
 					newgametype = d;
+				else
+				{
+					CONS_Alert(CONS_ERROR,
+							"Gametype number %d is out of range. Use a number between"
+							" 0 and %d inclusive. ...Or just use the name. :v\n",
+							d,
+							NUMGAMETYPES-1);
+					Z_Free(realmapname);
+					Z_Free(mapname);
+					return;
+				}
 			}
 			else
 			{