diff --git a/Python_script/climate-lab-gui.py b/Python_script/climate-lab-gui.py
index 2ec5fc11beb02c026e0859e065bc5d7bfa8841ec..849d0fec2de2147523826b6b270ab0290bc939c1 100755
--- a/Python_script/climate-lab-gui.py
+++ b/Python_script/climate-lab-gui.py
@@ -82,6 +82,20 @@ class TestStandMainWindow(QMainWindow):
         self.stopButton.setEnabled(True)
         self.qt_app.processEvents();
 
+        p = mp.Process(target=self.do_measurement_impl)
+        p.start()
+        while p.is_alive():
+            time.sleep(0.1)
+            self.qt_app.processEvents();
+        p.join()
+        
+        self.runSettingsLayout.setEnabled(True)
+        self.startButton.setEnabled(True)
+        self.stopButton.setEnabled(False)
+
+
+    #the part that is started in a separate process
+    def do_measurement_impl(self):
         os.chdir(self.start_dir)
         with open('test_stand_parameter.json', 'r') as f:
             config_data = json.load(f)
@@ -96,7 +110,6 @@ class TestStandMainWindow(QMainWindow):
             output_basename = self.baseName.text()
 
         if not self.check_and_change_dir(config_data['data_folder'] + '/' + output_basename):
-            self.setEnabled(True)
             return
 
         meas = None
@@ -156,10 +169,6 @@ class TestStandMainWindow(QMainWindow):
             if meas is not None:
                 meas.chamber.close()
                 meas.ext_sensors.close()
-            
-            self.runSettingsLayout.setEnabled(True)
-            self.startButton.setEnabled(True)
-            self.stopButton.setEnabled(False)
 
 
 if __name__ == '__main__':