diff --git a/src/g_game.c b/src/g_game.c
index e5bbf9d5dc74d055dea56f4ab690b8d735d4cb82..95aa1ae0084d8fc17c50eafc2ee1564965a160fa 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -4580,6 +4580,10 @@ INT32 G_FindMapByNameOrCode(const char *mapname, char **realmapnamep)
 
 	if (usemapcode)
 	{
+		/* we can't check mapheaderinfo for this hahahaha */
+		if (W_CheckNumForName(G_BuildMapName(newmapnum)) == LUMPERROR)
+			return 0;
+
 		if (realmapnamep)
 			(*realmapnamep) = G_BuildMapTitle(newmapnum);
 	}