diff --git a/OpenRA.Game/FileSystem/FileSystem.cs b/OpenRA.Game/FileSystem/FileSystem.cs index e980e4a03b..65c730afb1 100644 --- a/OpenRA.Game/FileSystem/FileSystem.cs +++ b/OpenRA.Game/FileSystem/FileSystem.cs @@ -144,7 +144,13 @@ namespace OpenRA.FileSystem packagesForFile.RemoveAll(p => p == package); mountedPackages.Remove(package); - explicitMounts.Remove(package.Name); + var explicitKeys = explicitMounts.Where(kv => kv.Value == package) + .Select(kv => kv.Key) + .ToList(); + + foreach (var key in explicitKeys) + explicitMounts.Remove(key); + package.Dispose(); } else