diff --git a/src/ExceptionHandlingDecorator.cc b/src/ExceptionHandlingDecorator.cc
index c0c2a8b03d4e64c13be5f062d95a0b147afbae43..a5bab0887aef616475c7bd68f4c0dca9a7ca1bb2 100644
--- a/src/ExceptionHandlingDecorator.cc
+++ b/src/ExceptionHandlingDecorator.cc
@@ -52,12 +52,10 @@ namespace ChimeraTK {
           if(Application::getInstance().getLifeCycleState() != LifeCycleState::run) {
             // If the application has not yet fully started, we cannot wait for the device to open. Instead register
             // the variable in the DeviceMoule, so the transfer will be performed after the device is opened.
-
-            // >>>>>>>>>>>>>> FIX ME <<<<<<<<<<<<
-            // >>>>>>>>>>>>>> FIX ME <<<<<<<<<<<<
-            // >>>>>>>>>>>>>> FIX ME <<<<<<<<<<<<
-            // need to make a copy of the target accessor!!!
-            deviceModule.writeAfterOpen.push_back(this->_target);
+            assert(_recoveryAccessor != nullptr); // should always be true for writeable registers with this decorator
+            // Note: it's ok to use the recoveryAccessor here as well, since device opening and recovery happens in the
+            // same thread in the DeviceModule.
+            deviceModule.writeAfterOpen.push_back(this->_recoveryAccessor);
             return false;
           }
           setOwnerValidityFunction(DataValidity::faulty);