diff --git a/app/lib/pages/marker_handler/get_relation.dart b/app/lib/pages/marker_handler/get_relation.dart
index 77d3297dd56438177d8327056aa7e3617c51f4a1..2a4abf5df854289596065e04fe3457657fa887a4 100644
--- a/app/lib/pages/marker_handler/get_relation.dart
+++ b/app/lib/pages/marker_handler/get_relation.dart
@@ -1,8 +1,10 @@
 import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
-import '../consts.dart';
 import 'dart:typed_data';
+import 'package:path_provider/path_provider.dart';
+
+import '../consts.dart';
 
 /// Fetch relation data from server
 Future<Uint8List> fetchRelation() async {
@@ -21,16 +23,38 @@ Future<Uint8List> fetchRelation() async {
       var responseBody = await response.transform(utf8.decoder).join();
 
       if (responseBody.isNotEmpty) {
+        Directory appDocumentsDirectory = await getApplicationDocumentsDirectory();
+        String filePath = '${appDocumentsDirectory.path}/last_relation.json';
+
+        try { // Write most recent time of update to file
+          await File(filePath).writeAsString(responseBody, mode: FileMode.write);
+          print('Relation written to file');
+        } catch (error) { print('Error in writing to file: $error');}
+
         // Return relation data from the response body
         return Uint8List.fromList(utf8.encode(responseBody));
-      } else {
-        throw Exception('Response body is empty');
       }
-    } else {
-      throw Exception('Failed to fetch relation data: Status code ${response.statusCode}');
     }
+    return loadSavedRelation();
   } catch (e) {
-    throw Exception('Failed to fetch relation data: ${e.toString()}');
+    return loadSavedRelation();
+  }
+}
+
+Future<Uint8List> loadSavedRelation() async {
+  // Get latest saved relation from file if the server does not respond
+  Directory appDocumentsDirectory = await getApplicationDocumentsDirectory();
+  String filePath = '${appDocumentsDirectory.path}/last_relation.json';
+
+  // Read file contents
+  File file = File(filePath);
+  if (await file.exists()) {
+    String contents = await file.readAsString();
+    List<dynamic> jsonData = json.decode(contents); // Parse JSON string from file
+    Uint8List relation = Uint8List.fromList(utf8.encode(jsonData.toString()));
+    return relation;
+  } else {
+    throw Exception('File does not exist');
   }
 }
 
diff --git a/app/lib/pages/marker_handler/load_saved_data.dart b/app/lib/pages/marker_handler/load_saved_data.dart
deleted file mode 100644
index b9ea25e30a4baf93f8eef686f056afc83e05a737..0000000000000000000000000000000000000000
--- a/app/lib/pages/marker_handler/load_saved_data.dart
+++ /dev/null
@@ -1,51 +0,0 @@
-import 'dart:async';
-import 'dart:convert';
-import 'dart:io';
-import 'marker_data.dart';
-import '../consts.dart';
-import 'package:path_provider/path_provider.dart';
-import 'dart:typed_data';
-
-/// loadSavedData parses json data from a saved file, either to a list
-/// of Measurement objects or a Uint8List object depending if it reads
-/// measurement data or relation data.
-Future<FetchResult> loadSavedData() async {
-  Uint8List relation;
-  List<Measurement> measurements = [];
-
-  // Get latest saved data from file if the server does not respond
-  Directory appDocumentsDirectory = await getApplicationDocumentsDirectory();
-  String filePath = '${appDocumentsDirectory.path}/last_data.sjon';
-
-  // Read measurement file contents
-  File file = File(filePath);
-  if (await file.exists()) {
-    String contents = await file.readAsString();
-    List<dynamic> jsonData = json.decode(contents); // Parse JSON string from file
-    measurements = jsonData.map((data) => Measurement.fromJson(data)).toList();
-  } else {
-    throw Exception('File does not exist');
-  }
-
-  filePath = '${appDocumentsDirectory.path}/relation.json';
-
-  // Read relation file contents
-  file = File(filePath);
-  if (await file.exists()) {
-    String contents = await file.readAsString();
-    List<dynamic> jsonData = json.decode(contents); // Parse JSON string from file
-    relation = Uint8List.fromList(utf8.encode(jsonData.toString()));
-  } else {
-    throw Exception('File does not exist');
-  }
-
-  return FetchResult(relation, measurements, false);
-}
-
-class FetchResult {
-  final Uint8List relation;
-  final List<Measurement> measurements;
-  final bool connected;
-
-  FetchResult(this.relation, this.measurements, this.connected);
-}
diff --git a/server/map/__pycache__/get_relation.cpython-311.pyc b/server/map/__pycache__/get_relation.cpython-311.pyc
index 5fa72e24fbe220c417ab4c9ccf18c4749e3298ba..1fa84cb826efde8bac6448f030d6da17d236c79f 100644
Binary files a/server/map/__pycache__/get_relation.cpython-311.pyc and b/server/map/__pycache__/get_relation.cpython-311.pyc differ