diff --git a/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.cpp b/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.cpp
index 1b4b0dd2ea571562291ddffcdf70b1c438b15fef..d100459622099a65dded88c216950cae1ff1841f 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.cpp
@@ -10,6 +10,7 @@
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 #include <ArmarXCore/core/logging/Logging.h>
 #include <ArmarXCore/core/time/Clock.h>
+#include <ArmarXCore/core/time/Duration.h>
 
 #include "RobotAPI/libraries/armem_robot_state/client/common/constants.h"
 #include "RobotAPI/libraries/armem_robot_state/common/localization/types.h"
@@ -49,11 +50,14 @@ namespace armarx::armem::robot_state
     {
         transformReader.connect(memoryNameSystem);
 
+        armarx::Clock::WaitFor(armarx::Duration::MilliSeconds(200));
+
         // Wait for the memory to become available and add it as dependency.
         ARMARX_INFO << "RobotReader: Waiting for memory '" << constants::memoryName << "' ...";
         try
         {
-            memoryReader = memoryNameSystem.useReader(constants::memoryName);
+            // memoryReader = memoryNameSystem.useReader(constants::memoryName);
+            memoryReader = transformReader.getMemoryReader();
             ARMARX_INFO << "RobotReader: Connected to memory '" << constants::memoryName << "'";
         }
         catch (const armem::error::CouldNotResolveMemoryServer& e)
diff --git a/source/RobotAPI/libraries/armem_robot_state/client/localization/TransformReader.h b/source/RobotAPI/libraries/armem_robot_state/client/localization/TransformReader.h
index 37dc53c5c190e576af8fcc13d2d12772b719d921..184fae2481188bbcc6e6f73a72c1dc47fa42d647 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/localization/TransformReader.h
+++ b/source/RobotAPI/libraries/armem_robot_state/client/localization/TransformReader.h
@@ -58,6 +58,8 @@ namespace armarx::armem::robot_state::client::localization
 
         void registerPropertyDefinitions(::armarx::PropertyDefinitionsPtr& def) override;
 
+        armem::client::Reader getMemoryReader(){return memoryReader;}
+
     private:
         armem::client::Reader memoryReader;
         mutable std::mutex memoryReaderMutex;