diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs
index 3b71324644..4dc9d71d37 100644
--- a/osu.Game/OsuGame.cs
+++ b/osu.Game/OsuGame.cs
@@ -292,7 +292,7 @@ namespace osu.Game
return;
}
- if ((screenStack.CurrentScreen as IOsuScreen)?.DisallowExternalBeatmapRulesetChanges != false)
+ if ((screenStack.CurrentScreen as IOsuScreen)?.AllowExternalScreenChange == false)
{
notifications.Post(new SimpleNotification
{
diff --git a/osu.Game/Screens/IOsuScreen.cs b/osu.Game/Screens/IOsuScreen.cs
index f256760a0a..9e28de5593 100644
--- a/osu.Game/Screens/IOsuScreen.cs
+++ b/osu.Game/Screens/IOsuScreen.cs
@@ -17,6 +17,12 @@ namespace osu.Game.Screens
///
bool DisallowExternalBeatmapRulesetChanges { get; }
+ ///
+ /// Whether a top-level component should be allowed to exit the current screen to, for example,
+ /// complete an import.
+ ///
+ bool AllowExternalScreenChange { get; }
+
///
/// Whether this allows the cursor to be displayed.
///
diff --git a/osu.Game/Screens/Select/MatchSongSelect.cs b/osu.Game/Screens/Select/MatchSongSelect.cs
index cfeaa1785e..d7ff95be85 100644
--- a/osu.Game/Screens/Select/MatchSongSelect.cs
+++ b/osu.Game/Screens/Select/MatchSongSelect.cs
@@ -17,6 +17,8 @@ namespace osu.Game.Screens.Select
public string ShortTitle => "song selection";
public override string Title => ShortTitle.Humanize();
+ public override bool AllowExternalScreenChange => false;
+
public MatchSongSelect()
{
Padding = new MarginPadding { Horizontal = HORIZONTAL_OVERFLOW_PADDING };