From 68e04c1356f1a475362a0b54a8eb75605dc584a7 Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Mon, 17 Aug 2026 05:33:15 +0300
Subject: [PATCH 52/52] Remove transferred city from aarea->cities list

See RM #2145

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
---
 server/citytools.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/server/citytools.c b/server/citytools.c
index 5d5acff48f..eeec3cac57 100644
--- a/server/citytools.c
+++ b/server/citytools.c
@@ -1133,7 +1133,10 @@ bool transfer_city(struct player *ptaker, struct city *pcity,
   city_rally_point_clear(pcity);
 
   /* Clear pointer to old owner's access areas */
-  pcity->aarea = nullptr;
+  if (pcity->aarea != nullptr) {
+    city_list_remove(pcity->aarea->cities, pcity);
+    pcity->aarea = nullptr;
+  }
 
   /* Activate AI control of the new owner. */
   CALL_PLR_AI_FUNC(city_got, ptaker, ptaker, pcity);
-- 
2.53.0

