diff --git a/Sources/app/src/main/java/Structures/RoomInfo.java b/Sources/app/src/main/java/Structures/RoomInfo.java
index aec0cde658df6eef209871a76668f327e5d17a5a..df252464588201c3cb5ab793fe8bda6e801bc39b 100644
--- a/Sources/app/src/main/java/Structures/RoomInfo.java
+++ b/Sources/app/src/main/java/Structures/RoomInfo.java
@@ -104,6 +104,29 @@ public class RoomInfo implements Serializable {
         this.askForSave();
     }
 
+    public ZoneInfo getNearestZone(RoomInfo room) {
+        if (this.getNbZones() == 0) return null;
+        ZoneInfo selectedZone = this.getZone(0);
+        int zone_score = 0;
+
+        for (ZoneInfo z: this.zones) {
+            int z_score = 0;
+            for (PhotoInfo ph: z.getPhotos()) {
+                for (PathView pv: ph.getPathViews()) {
+                    PathInfo p = pv.getPath();
+                    if (p == null) continue;
+                    if (p.getDestination().equals(room))
+                        z_score++;
+                }
+            }
+            if (z_score > zone_score) {
+                zone_score = z_score;
+                selectedZone = z;
+            }
+        }
+        return selectedZone;
+    }
+
     public void setBuilding(BuildingInfo building) { this.building = building; }
 
     public BuildingInfo getBuilding() {
diff --git a/Sources/app/src/main/java/com/furwaz/roomview/ZoneView.java b/Sources/app/src/main/java/com/furwaz/roomview/ZoneView.java
index d3e69bf2a11221fd07f874714b41ef484b1a6872..45df174373f00807c2d83c8d1faa00ae55f57479 100644
--- a/Sources/app/src/main/java/com/furwaz/roomview/ZoneView.java
+++ b/Sources/app/src/main/java/com/furwaz/roomview/ZoneView.java
@@ -227,7 +227,7 @@ public class ZoneView extends AppCompatActivity {
                     Toast.makeText(this, "Your can't go here.\nThis room doesn't have any zone or photos yet.", Toast.LENGTH_SHORT).show();
                     return;
                 }
-                ZoneInfo new_zone = dest.getZone(0);
+                ZoneInfo new_zone = dest.getNearestZone(this.room);
                 old_zone = this.zone;
                 this.room = dest;
                 this.zone = new_zone;