diff --git a/osu.Game/Database/LegacyExporter.cs b/osu.Game/Database/LegacyExporter.cs
index 430505e855..4b65e26145 100644
--- a/osu.Game/Database/LegacyExporter.cs
+++ b/osu.Game/Database/LegacyExporter.cs
@@ -3,6 +3,7 @@
#nullable disable
+using System.Collections.Generic;
using System.IO;
using System.Linq;
using osu.Framework.Platform;
@@ -39,13 +40,11 @@ namespace osu.Game.Database
/// The item to export.
public void Export(TModel item)
{
- var itemFilename = item.GetDisplayString().GetValidFilename();
+ string itemFilename = item.GetDisplayString().GetValidFilename();
- var existingExports = exportStorage.GetFiles("", $"{itemFilename}*{FileExtension}").ToArray();
-
- // trim the file extension
- for (int i = 0; i < existingExports.Length; i++)
- existingExports[i] = existingExports[i].TrimEnd(FileExtension.ToCharArray());
+ IEnumerable existingExports = exportStorage
+ .GetFiles("", $"{itemFilename}*{FileExtension}")
+ .Select(export => export.Substring(0, export.Length - FileExtension.Length));
string filename = $"{NamingUtils.GetNextBestName(existingExports, itemFilename)}{FileExtension}";
using (var stream = exportStorage.CreateFileSafely(filename))