diff --git a/LCU/checkhardware/check_hardware.py b/LCU/checkhardware/check_hardware.py
index 333afef267e223f80d9237de9f207b7f94e252c8..06d18f2dc8e0897e5f088fd29a003909414f71f6 100755
--- a/LCU/checkhardware/check_hardware.py
+++ b/LCU/checkhardware/check_hardware.py
@@ -371,6 +371,11 @@ def safely_start_test_signal(start_cmd, stop_cmd):
     :param stop_cmd: the command to stop on exit as shell-executable string
     """
 
+    # set things up sp signal is stopped when check_hardware terminates
+    register_signal_handlers(stop_cmd)
+    register_exit_handler(stop_cmd)
+    start_watchdog_daemon(os.getpid(), stop_cmd)  # this alone would actually be sufficient
+
     # start signal
     try:
         check_call(start_cmd, shell=True)
@@ -378,11 +383,6 @@ def safely_start_test_signal(start_cmd, stop_cmd):
         logger.error("Could not start the test signal! Non-zero return code from start_cmd (%s)." % start_cmd, ex)
         raise
 
-    # set things up sp signal is stopped when check_hardware terminates
-    register_signal_handlers(stop_cmd)
-    register_exit_handler(stop_cmd)
-    start_watchdog_daemon(os.getpid(), stop_cmd)  # this alone would actually be sufficient
-
 
 def safely_start_test_signal_from_ParameterSet(settings):
     '''