diff --git a/OpenRA.Mods.Common/Traits/DockClientManager.cs b/OpenRA.Mods.Common/Traits/DockClientManager.cs index da0f701330..794ad5895f 100644 --- a/OpenRA.Mods.Common/Traits/DockClientManager.cs +++ b/OpenRA.Mods.Common/Traits/DockClientManager.cs @@ -342,8 +342,10 @@ namespace OpenRA.Mods.Common.Traits var mobile = clientActor.TraitOrDefault(); if (mobile != null) { - // Overlapping docks can become hidden. - var lookup = docks.ToDictionary(dock => clientActor.World.Map.CellContaining(dock.Trait.DockPosition)); + // Overlapping hosts can become hidden. + var lookup = docks + .GroupBy(dock => clientActor.World.Map.CellContaining(dock.Trait.DockPosition)) + .ToDictionary(group => group.Key, group => group.First()); // Start a search from each docks position: var path = mobile.PathFinder.FindPathToTargetCell(