diff --git a/OpenRA.Mods.RA/Air/Aircraft.cs b/OpenRA.Mods.RA/Air/Aircraft.cs index aff9c13b31..1fab8f902d 100755 --- a/OpenRA.Mods.RA/Air/Aircraft.cs +++ b/OpenRA.Mods.RA/Air/Aircraft.cs @@ -80,8 +80,12 @@ namespace OpenRA.Mods.RA.Air return; var res = afld.Trait(); + if (res != null) + { + UnReserve(); Reservation = res.Reserve(afld, self, this); + } } public void UnReserve() diff --git a/OpenRA.Mods.RA/Air/HeliReturn.cs b/OpenRA.Mods.RA/Air/HeliReturn.cs index fe79071828..d2a525b544 100755 --- a/OpenRA.Mods.RA/Air/HeliReturn.cs +++ b/OpenRA.Mods.RA/Air/HeliReturn.cs @@ -47,9 +47,12 @@ namespace OpenRA.Mods.RA.Air var res = dest.TraitOrDefault(); var heli = self.Trait(); - if (res != null) - heli.Reservation = res.Reserve(dest, self, heli); + if (res != null) + { + heli.UnReserve(); + heli.Reservation = res.Reserve(dest, self, heli); + } var exit = dest.Info.Traits.WithInterface().FirstOrDefault(); var offset = (exit != null) ? exit.SpawnOffset : WVec.Zero;