diff --git a/osu.Game/Screens/OsuScreen.cs b/osu.Game/Screens/OsuScreen.cs index f0e673a739..64223db100 100644 --- a/osu.Game/Screens/OsuScreen.cs +++ b/osu.Game/Screens/OsuScreen.cs @@ -89,8 +89,13 @@ namespace osu.Game.Screens { if (!IsCurrentScreen) return; - ruleset.Disabled = !AllowBeatmapRulesetChange; - beatmap.Disabled = !AllowBeatmapRulesetChange; + if (ParentScreen != null) + { + // we only want to apply these restrictions when we are inside a screen stack. + // the use case for not applying is in visual/unit tests. + ruleset.Disabled = !AllowBeatmapRulesetChange; + beatmap.Disabled = !AllowBeatmapRulesetChange; + } } protected override void OnResuming(Screen last)