diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
index 3901a510fdcb5bec61a2b18cc2e64b2cab0ecf64..5128cd755f9f0be41689a446f1b1697db956af8c 100644
--- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
+++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
@@ -63,6 +63,9 @@ namespace armarx::armem::server::robot_state
 
         const std::string robotUnitPrefix = robotUnit.sensorValuePrefix;
 
+
+	defs->optional(robotUnit.waitForRobotUnit, "WaitForRobotUnit", "Add the robot unit as dependency to the component. This memory requires a running RobotUnit, therefore we should add it as explicit dependency.");
+
         defs->optional(robotUnit.reader.properties.sensorPrefix, robotUnitPrefix + "SensorValuePrefix",
                        "Prefix of all sensor values.");
         defs->optional(robotUnit.pollFrequency, robotUnitPrefix + "UpdateFrequency",
@@ -115,6 +118,11 @@ namespace armarx::armem::server::robot_state
             std::vector<std::string> projectIncludePaths = simox::alg::split(pathsString, ";,");
             includePaths.insert(includePaths.end(), projectIncludePaths.begin(), projectIncludePaths.end());
         }
+
+	if (robotUnit.waitForRobotUnit)
+	{
+		usingProxy(robotUnit.plugin->getRobotUnitName());
+	}
     }
 
 
diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.h b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.h
index 6459b2aac44dbea0a64c8b2fe35efed2e69f020c..863c9b5711a1effc010488eb9badf3195a88c8c5 100644
--- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.h
+++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.h
@@ -124,6 +124,8 @@ namespace armarx::armem::server::robot_state
             // queue
             std::queue<proprioception::RobotUnitData> dataQueue;
             std::mutex dataMutex;
+
+	    bool waitForRobotUnit = false;
         };
         RobotUnit robotUnit;
     };