diff --git a/include/TestFacility.h b/include/TestFacility.h
index 789e35d3ba172368f7be2ff299e763bac4d876c2..2c3e389794364f12ef25f2e68f0616a4ec0a0573 100644
--- a/include/TestFacility.h
+++ b/include/TestFacility.h
@@ -65,6 +65,13 @@ namespace ChimeraTK {
         if(allOpened) break;
       }
       Application::testableModeLock("waitDevicesToOpen");
+      // receive all initial values for the control system variables
+      for(auto& pv : pvManager->getAllProcessVariables()) {
+        callForType(pv->getValueType(), [&pv, this](auto arg) {
+          if(!pv->isReadable()) return;
+          pv->readNonBlocking();
+        });
+      }
     }
 
     /** Perform a "step" of the application. This runs the application until all