diff --git src/simutrans/world/simworld.cc src/simutrans/world/simworld.cc
index 0c12d70d7..0b06d09db 100644
--- src/simutrans/world/simworld.cc
+++ src/simutrans/world/simworld.cc
@@ -5628,6 +5628,7 @@ void karte_t::switch_active_player(uint8 new_player, bool silent)
 		}
 		active_player_nr = new_player;
 		active_player = players[new_player];
+		zeiger->set_owner(active_player);  // Update the cursor's owner
 		if(  !silent  ) {
 			// tell the player
 			cbuffer_t buf;
