>From 83018640c3bdfb7d334686fdc61bd0cf9ffcb164 Mon Sep 17 00:00:00 2001
From: "Stefan Fellner (SFE)" <stefan.fellner@ntsretail.com>
Date: Mon, 13 Dec 2021 18:01:44 +0100
Subject: [PATCH] improve unit activation

---
 src/net/sf/freecol/client/control/InGameController.java | 2 ++
 src/net/sf/freecol/client/gui/SwingGUI.java             | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/net/sf/freecol/client/control/InGameController.java b/src/net/sf/freecol/client/control/InGameController.java
index 943ff85ff..e35351cb1 100644
--- a/src/net/sf/freecol/client/control/InGameController.java
+++ b/src/net/sf/freecol/client/control/InGameController.java
@@ -335,6 +335,8 @@ public final class InGameController extends FreeColClientHolder {
                 // Tile is displayed if no new active unit is found,
                 // useful when the last unit might have died
                 updateActiveUnit(tile);
+            } else {
+                getGUI().changeView(active, updateUnit);
             }
             getGUI().updateMapControls();
             getGUI().updateMenuBar();
diff --git a/src/net/sf/freecol/client/gui/SwingGUI.java b/src/net/sf/freecol/client/gui/SwingGUI.java
index d05011e5f..22e692fb2 100644
--- a/src/net/sf/freecol/client/gui/SwingGUI.java
+++ b/src/net/sf/freecol/client/gui/SwingGUI.java
@@ -1196,7 +1196,7 @@ public class SwingGUI extends GUI {
     public void changeView(Unit unit, boolean force) {
         boolean change = changeViewMode(ViewMode.MOVE_UNITS);
         change |= changeActiveUnit(unit);
-        if (unit != null) {
+        if (unit != null && !unit.isInEurope()) {
             // Bring the selected tile along with the unit.
             change |= changeSelectedTile(unit.getTile(), true);
         }
-- 
2.32.0.windows.1

