diff --git a/osu.Game/Database/LegacyModelImporter.cs b/osu.Game/Database/LegacyModelImporter.cs
index a6e0f5bf8b..13a9025ece 100644
--- a/osu.Game/Database/LegacyModelImporter.cs
+++ b/osu.Game/Database/LegacyModelImporter.cs
@@ -24,8 +24,14 @@ namespace osu.Game.Database
///
/// Select paths to import from stable where all paths should be absolute. Default implementation iterates all directories in .
///
- protected virtual IEnumerable GetStableImportPaths(Storage storage) => storage.GetDirectories(ImportFromStablePath)
- .Select(path => storage.GetFullPath(path));
+ protected virtual IEnumerable GetStableImportPaths(Storage storage)
+ {
+ if (!storage.ExistsDirectory(ImportFromStablePath))
+ return Enumerable.Empty();
+
+ return storage.GetDirectories(ImportFromStablePath)
+ .Select(path => storage.GetFullPath(path));
+ }
protected readonly IModelImporter Importer;
diff --git a/osu.Game/Database/LegacyScoreImporter.cs b/osu.Game/Database/LegacyScoreImporter.cs
index 48445b7bdb..131b4ffb0e 100644
--- a/osu.Game/Database/LegacyScoreImporter.cs
+++ b/osu.Game/Database/LegacyScoreImporter.cs
@@ -15,8 +15,14 @@ namespace osu.Game.Database
protected override string ImportFromStablePath => Path.Combine("Data", "r");
protected override IEnumerable GetStableImportPaths(Storage storage)
- => storage.GetFiles(ImportFromStablePath).Where(p => Importer.HandledExtensions.Any(ext => Path.GetExtension(p)?.Equals(ext, StringComparison.OrdinalIgnoreCase) ?? false))
- .Select(path => storage.GetFullPath(path));
+ {
+ if (!storage.ExistsDirectory(ImportFromStablePath))
+ return Enumerable.Empty();
+
+ return storage.GetFiles(ImportFromStablePath)
+ .Where(p => Importer.HandledExtensions.Any(ext => Path.GetExtension(p)?.Equals(ext, StringComparison.OrdinalIgnoreCase) ?? false))
+ .Select(path => storage.GetFullPath(path));
+ }
public LegacyScoreImporter(IModelImporter importer)
: base(importer)