Well spotted. This fixes it. However you added unnecessary redundancy: `self.Destroy();` https://github.com/OpenRA/OpenRA/blob/bleed/OpenRA.Game/Actor.cs#L190 actually checkes for `!self.Destroyed` and invokes `self.World.AddFrameEndTask` so you can safely remove the rest.