diff --git a/osu.Game/Screens/OnlinePlay/OnlinePlaySongSelect.cs b/osu.Game/Screens/OnlinePlay/OnlinePlaySongSelect.cs
index 755dbdb55e..b0062720e0 100644
--- a/osu.Game/Screens/OnlinePlay/OnlinePlaySongSelect.cs
+++ b/osu.Game/Screens/OnlinePlay/OnlinePlaySongSelect.cs
@@ -17,6 +17,7 @@ using osu.Game.Rulesets;
using osu.Game.Rulesets.Mods;
using osu.Game.Screens.OnlinePlay.Match;
using osu.Game.Screens.Select;
+using osu.Game.Utils;
namespace osu.Game.Screens.OnlinePlay
{
@@ -126,7 +127,7 @@ namespace osu.Game.Screens.OnlinePlay
///
/// The to check.
/// Whether is a valid mod for online play.
- protected virtual bool IsValidMod(Mod mod) => mod.HasImplementation && !(mod is ModAutoplay) && (mod as MultiMod)?.Mods.Any(mm => mm is ModAutoplay) != true;
+ protected virtual bool IsValidMod(Mod mod) => mod.HasImplementation && !ModUtils.FlattenMod(mod).Any(m => m is ModAutoplay);
///
/// Checks whether a given is valid for per-player free-mod selection.