diff --git a/scripts/GUI.py b/scripts/GUI.py
index fc61a8c50b99ce3db6aa60bba6b39b685cceceaf..07ed6659d09fd5011b138432748eef4df46e978d 100644
--- a/scripts/GUI.py
+++ b/scripts/GUI.py
@@ -42,13 +42,23 @@ def select_Image(event):
 
 def depthmap_creation():
     print("Manually upload depth map: ", uploadDepthCheck.get())
-    
-    if uploadDepthCheck.get() == 0:
-        check.set(1)
-    else:
-        check.set(0) #temporary. TODO implement Mona's monodepth upload    
-    
 
+    if uploadDepthCheck.get() == 1: # if manually upload checked
+        check.set(0) # disable auto generation of depth map        
+        upload_depth_path = tkinter.filedialog.askopenfilename(title="Select a depth map", filetypes=[("All files", "*.*")]) #dialog box to upload dpeth map
+        
+        if upload_depth_path:
+            print(f"Uploaded depth map: {upload_depth_path}")            
+            #TODO implement Mona's monodepth upload 
+        else:
+            print("No depth map selected")
+            check.set(1) # if no depth map selected, enable auto generation of depth map  
+            depth_check.deselect() # uncheck the depth map check box
+    else:
+        check.set(1) # if manually upload unchecked, enable auto generation of depth map 
+        upload_depth_path = None 
+        print("Removed uploaded depth map")     
+        
 def stanfordRoom_selection():
     if checkStanford.get() == 1:
         global stanford_frame
@@ -140,9 +150,7 @@ window.title("Immersive VR scene creator")
 
 check = tk.IntVar()
 check.set(1) #automatically generate depth map as default
-# changed check vaiable: 0 = automatically upload depth map, 1 = manually upload depth map
-# this behaviour is oppositte to previous check variable
-uploadDepthCheck = tk.IntVar()
+uploadDepthCheck = tk.IntVar() # added uploadDepthCheck vaiable: 0 = automatically upload depth map, 1 = manually upload depth map
 
 checkStanford = tk.IntVar()
 include_top = tk.IntVar()