diff --git a/OpenRA.Mods.Common/Orders/GlobalButtonOrderGenerator.cs b/OpenRA.Mods.Common/Orders/GlobalButtonOrderGenerator.cs index 8228c47ad4..47db4e7308 100644 --- a/OpenRA.Mods.Common/Orders/GlobalButtonOrderGenerator.cs +++ b/OpenRA.Mods.Common/Orders/GlobalButtonOrderGenerator.cs @@ -43,8 +43,14 @@ namespace OpenRA.Mods.Common.Orders .FirstOrDefault(a => a.Owner == world.LocalPlayer && a.TraitsImplementing() .Any(Exts.IsTraitEnabled)); - if (underCursor != null) - yield return new Order(order, underCursor, false); + if (underCursor == null) + yield break; + + var building = underCursor.TraitOrDefault(); + if (building != null && building.Locked) + yield break; + + yield return new Order(order, underCursor, false); } }