diff --git a/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngameMenuLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngameMenuLogic.cs index ab65c14a2d7a..8b38d0d8eb96 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngameMenuLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngameMenuLogic.cs @@ -251,6 +251,16 @@ public static void OnQuit(World world) var iop = world.WorldActor.TraitsImplementing().FirstOrDefault(); var exitDelay = iop?.ExitDelay ?? 0; var mpe = world.WorldActor.TraitOrDefault(); + + // HACK: Opening up skirmish menu can mess up the OrderManager. + if (!Game.IsCurrentWorld(world)) + { + Game.Disconnect(); + Ui.ResetAll(); + Game.LoadShellMap(); + return; + } + if (mpe != null) { Game.RunAfterDelay(exitDelay, () =>