diff --git a/src/calng/base_correction.py b/src/calng/base_correction.py
index 1f4135bc64e7aab1ef8fdd78ea20b725157bf307..ffc37d17b8645c79c95b0fc4bb8ca82dabb17f3a 100644
--- a/src/calng/base_correction.py
+++ b/src/calng/base_correction.py
@@ -1018,10 +1018,12 @@ class BaseCorrection(PythonDevice):
         )
         # trainId in _buffered_status_update should be updated in input handler
 
-        self.set(self._buffered_status_update)
-
-        if default_timer() - self._last_processing_started > PROCESSING_STATE_TIMEOUT:
-            if self.get("state") is State.PROCESSING:
+        if self.get("state") is State.PROCESSING:
+            self.set(self._buffered_status_update)
+            if (
+                default_timer() - self._last_processing_started
+                > PROCESSING_STATE_TIMEOUT
+            ):
                 self.updateState(State.ON)
                 self.log_status_info(
                     f"No new train in {PROCESSING_STATE_TIMEOUT} s, switching state."