diff --git a/app/lib/widgets/main_layout.dart b/app/lib/widgets/main_layout.dart
index 9a204dc3bd0c0895f08635268120b044f694f626..ec7727f367210f8b0fe19a2eb81d7466b649e79c 100644
--- a/app/lib/widgets/main_layout.dart
+++ b/app/lib/widgets/main_layout.dart
@@ -58,8 +58,17 @@ class _MapContainerWidgetState extends State<MapContainerWidget> {
 
   // Tile selection handler
   void handleSelection(int index) {
+    String indexString = index.toString();
     setState(() {
-      selectedTile= widget.markerList[index];
+      // NB should be optimalised
+      for (Measurement measurement in widget.markerList) {
+        for (SubDiv subdivision in measurement.subDivs) {
+          if (subdivision.sub_div_id == indexString) {
+            selectedTile= widget.markerList[index];
+            break;
+          }
+        }
+      }
     });
   }