diff --git a/src/m_menu.c b/src/m_menu.c
index 932df65fe757a56d54d8b325a011917e4a55c035..adf2e0cdbc39f2a963b936beb9cff9c3bf353d4b 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -2295,16 +2295,16 @@ static boolean MIT_SetCurBackground(UINT32 menutype, INT32 level, INT32 *retval,
 		curbgcolor = menupres[menutype].bgcolor;
 		return true;
 	}
-	else if (menupres[menutype].bgname[0] && (!menupres[menutype].bghide || !titlemapinaction))
+	else if (menupres[menutype].bghide && titlemapinaction) // hide the background
 	{
-		strncpy(curbgname, menupres[menutype].bgname, 8);
-		curbgxspeed = menupres[menutype].titlescrollxspeed != INT32_MAX ? menupres[menutype].titlescrollxspeed : titlescrollxspeed;
-		curbgyspeed = menupres[menutype].titlescrollyspeed != INT32_MAX ? menupres[menutype].titlescrollyspeed : titlescrollyspeed;
+		curbghide = true;
 		return true;
 	}
-	else if (menupres[menutype].bghide && titlemapinaction) // hide the background
+	else if (menupres[menutype].bgname[0])
 	{
-		curbghide = true;
+		strncpy(curbgname, menupres[menutype].bgname, 8);
+		curbgxspeed = menupres[menutype].titlescrollxspeed != INT32_MAX ? menupres[menutype].titlescrollxspeed : titlescrollxspeed;
+		curbgyspeed = menupres[menutype].titlescrollyspeed != INT32_MAX ? menupres[menutype].titlescrollyspeed : titlescrollyspeed;
 		return true;
 	}
 	else if (!level)