diff --git a/app/lib/pages/widgets/cloropleth_map.dart b/app/lib/pages/widgets/cloropleth_map.dart
index 0fed74d1653a50b4fe69f2d3ae4a62d224021d49..8a665f0fcfe05ec811022271b8ba7803684da59d 100644
--- a/app/lib/pages/widgets/cloropleth_map.dart
+++ b/app/lib/pages/widgets/cloropleth_map.dart
@@ -1,26 +1,27 @@
 import 'dart:typed_data';
-import '../marker_handler/marker_data.dart';
 import 'package:flutter/material.dart';
 import 'package:syncfusion_flutter_maps/maps.dart';
 import 'dart:math';
-import 'dart:convert';
+import '../marker_handler/marker_data.dart';
 
 /// A class containing thickness data for each subdivision of the map.
 class IceThicknessModel {
-  IceThicknessModel(this.sub_div_id, this.thickness, this.color);
+  IceThicknessModel(this.sub_div_id, this.thickness, this.color, this.isSelected);
 
   final String sub_div_id;
   final int thickness;
-  final Color color;
+  Color color;
+  bool isSelected;
 }
 
 /// ChoroplethMap is a stateful widget that contains a choropleth map.
 /// The map is created using the Syncfusion Flutter Maps library and
 /// coordinates fetched from the server.
 class ChoroplethMap extends StatefulWidget {
-  const ChoroplethMap({Key? key,
+  const ChoroplethMap({
+    Key? key,
     required this.relation,
-    required this.measurements
+    required this.measurements,
   }) : super(key: key);
 
   final Uint8List relation;
@@ -31,11 +32,10 @@ class ChoroplethMap extends StatefulWidget {
 }
 
 class _ChoroplethMapState extends State<ChoroplethMap> {
-  int selectedIndex = -1;
   late MapShapeSource mapShapeSource;
   late final MapZoomPanBehavior _zoomPanBehavior = MapZoomPanBehavior();
   List<IceThicknessModel> iceThicknessList = <IceThicknessModel>[];
-  List<Color> testColors = [ // NB test color
+  List<Color> testColors = [
     const Color(0xff8a003b),
     const Color(0xff8a4300),
     const Color(0xff8a7a00),
@@ -53,7 +53,7 @@ class _ChoroplethMapState extends State<ChoroplethMap> {
       Color randomColor = testColors[ran];
 
       int randomNumber = random.nextInt(21); // 0 -> 20, NB: temp test data
-      iceThicknessList.add(IceThicknessModel(i.toString(), randomNumber, randomColor));
+      iceThicknessList.add(IceThicknessModel(i.toString(), randomNumber, randomColor, false));
     }
   }
 
@@ -64,29 +64,23 @@ class _ChoroplethMapState extends State<ChoroplethMap> {
         SfMaps(
           layers: [
             MapShapeLayer(
-              source: MapShapeSource.memory( // Map polygon
-                widget.relation, // JSON coordinates from server
+              source: MapShapeSource.memory(
+                widget.relation,
                 shapeDataField: 'sub_div_id',
                 dataCount: iceThicknessList.length,
                 primaryValueMapper: (int index) => iceThicknessList[index].sub_div_id,
                 shapeColorValueMapper: (int index) => iceThicknessList[index].color,
               ),
-              //color: Colors.blue.shade400, // Map color
               zoomPanBehavior: _zoomPanBehavior,
               strokeColor: Colors.black,
-              // Shape selection
-              selectedIndex: selectedIndex,
               onSelectionChanged: (int index) {
                 setState(() {
-                  selectedIndex = index;
+                  for (int i = 0; i < iceThicknessList.length; i++) {
+                    iceThicknessList[i].isSelected = i == index;
+                    iceThicknessList[i].color = i == index ? Colors.red : iceThicknessList[i].color;
+                  }
                 });
-                print("Selection triggered");
               },
-              selectionSettings: MapSelectionSettings(
-                color: Colors.orange,
-                strokeColor: Colors.red[900],
-                strokeWidth: 3,
-              ),
             ),
           ],
         ),
@@ -94,4 +88,3 @@ class _ChoroplethMapState extends State<ChoroplethMap> {
     );
   }
 }
-