diff --git a/src/g_game.c b/src/g_game.c
index f5d7cd2fb933b56b188494c39760a22b4b61d4fe..8383782cb4de0a7797087e499c2b3ff4c6d59cef 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -1941,6 +1941,10 @@ boolean G_IsTitleCardAvailable(void)
 	if (gametyperules & GTR_NOTITLECARD)
 		return false;
 
+	// The current level has no name.
+	if (!mapheaderinfo[gamemap-1]->lvlttl[0])
+		return false;
+
 	// The title card is available.
 	return true;
 }
diff --git a/src/p_setup.c b/src/p_setup.c
index 2b0a5efa3f57bba99d05c507231c6c8c924cf8dc..c291dc7c3830b6624fa9e8943b4ca8ce43b92126 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -3684,8 +3684,7 @@ boolean P_LoadLevel(boolean fromnetsave)
 		return true;
 
 	// If so...
-	if ((!(mapheaderinfo[gamemap-1]->levelflags & LF_NOTITLECARD)) && (*mapheaderinfo[gamemap-1]->lvlttl != '\0'))
-		G_PreLevelTitleCard();
+	G_PreLevelTitleCard();
 
 	return true;
 }