diff --git a/app/lib/server_requests/init_state.dart b/app/lib/server_requests/init_state.dart
index b083b4632979d773136c124621e611b11a3ac9ea..d6b873e9e962d82220b8698c4caafde4abc8b8d6 100644
--- a/app/lib/server_requests/init_state.dart
+++ b/app/lib/server_requests/init_state.dart
@@ -1,4 +1,6 @@
+import 'dart:io';
 import 'dart:async';
+import 'dart:convert';
 import 'dart:typed_data';
 import 'package:app/consts.dart';
 
@@ -6,6 +8,7 @@ import '../data_classes.dart';
 import '../server_requests/fetch_markers.dart';
 import '../server_requests/fetch_relation.dart';
 
+
 Future<void> initialiseState() async{
   bool serverConnection = true;
 
@@ -33,4 +36,32 @@ Future<void> initialiseState() async{
 
   selectedRelation = await relationFuture;
   selectedMarkerList = await markerListFuture;
+}
+
+/// fetchAllLakeNames fetches a list of all lake names in the system
+/// and initialises lakeSearchOptions
+Future<void> fetchAllLakeNames() async {
+  try {
+    HttpClient client = HttpClient()
+      ..badCertificateCallback = // NB: temporary disable SSL certificate validation
+          (X509Certificate cert, String host, int port) => true;
+
+    var request = await client.getUrl(Uri.parse('${serverURI}/get_lake_names'));
+    var response = await request.close();
+
+    if (response.statusCode == 200) {
+      var responseBody = await response.transform(utf8.decoder).join();
+
+      if (responseBody.isNotEmpty) {
+        var jsonData = json.decode(responseBody);
+
+        if (jsonData != null && jsonData is List) {
+          lakeSearchOptions = jsonData.map<String>((item) => item.toString()).toList();
+          return;
+        }
+      }
+    }
+  } catch (e) {
+    lakeSearchOptions = ["Mjøsa"]; // Init default list
+  }
 }
\ No newline at end of file
diff --git a/server/main.py b/server/main.py
index 820e58ac554b42d2174796d2ebde77c3f201b4ff..2232bc36504cec3b8e5ef809ecb7b472a4f43e8d 100644
--- a/server/main.py
+++ b/server/main.py
@@ -43,13 +43,14 @@ class IceHTTP(BaseHTTPRequestHandler):
             with open('server/map_handler/lake_relations/all_lake_names.json', 'r') as file:
                 lake_names = json.load(file)
 
+            # Disable ensure_ascii to keep 'ø'
             json_data = json.dumps(lake_names, ensure_ascii=False)
 
             self.send_response(200)
             self.send_header('Content-type', 'application/json')
             self.end_headers()
 
-            self.wfile.write(json_data.encode('iso-8859-1'))
+            self.wfile.write(json_data.encode('iso-8859-1'))  # Special character encoding
         elif self.path.startswith('/update_map'):  # NB: should be POST?
             parsed_path = urlparse(self.path)
             query_params = parse_qs(parsed_path.query)