diff --git src/simutrans/simhalt.cc src/simutrans/simhalt.cc
index 849167311..bca327953 100644
--- src/simutrans/simhalt.cc
+++ src/simutrans/simhalt.cc
@@ -3036,7 +3036,11 @@ void haltestelle_t::rdwr(loadsave_t *file)
 	}
 
 	if(file->is_loading()) {
-		owners = owner_n;
+		if (file->is_version_less(124, 5)) {
+			owners = 1 << owner_n;
+		} else {
+			owners = owner_n;
+		}
 		permissions = 0; /* will iterate later */
 		k.rdwr( file );
 		while(k!=koord3d::invalid) {
@@ -3169,7 +3173,7 @@ void haltestelle_t::rdwr(loadsave_t *file)
 		set_permissions(permissions);
 	}
 	else if (file->is_loading()) {
-		permissions = owner_n == 1 ? 0xFFFFu : (1 << owner_n);
+		permissions = (owners & 0x02) ? 0xFFFFu : owners;
 		set_permissions(permissions);
 	}
 
