diff --git a/OpenRA.Mods.RA/PrimaryBuilding.cs b/OpenRA.Mods.RA/PrimaryBuilding.cs index 6cf53664a3..226f1ff6fe 100755 --- a/OpenRA.Mods.RA/PrimaryBuilding.cs +++ b/OpenRA.Mods.RA/PrimaryBuilding.cs @@ -67,13 +67,16 @@ namespace OpenRA.Mods.RA // TODO: THIS IS SHIT // Cancel existing primaries foreach (var p in self.Info.Traits.Get().Produces) + { + var productionType = p; // benign closure hazard foreach (var b in self.World .ActorsWithTrait() .Where(a => a.Actor.Owner == self.Owner && a.Trait.IsPrimary && - a.Actor.Info.Traits.Get().Produces.Contains(p))) + a.Actor.Info.Traits.Get().Produces.Contains(productionType))) b.Trait.SetPrimaryProducer(b.Actor, false); + } isPrimary = true;