diff --git a/source/RobotAPI/libraries/ArmarXEtherCAT/DeviceContainer.cpp b/source/RobotAPI/libraries/ArmarXEtherCAT/DeviceContainer.cpp
index beb75ddf2593ac4162ca9bb2d9244eb414c2f805..9295ae9a40feb4c352b27478abab84cd1cfd6950 100644
--- a/source/RobotAPI/libraries/ArmarXEtherCAT/DeviceContainer.cpp
+++ b/source/RobotAPI/libraries/ArmarXEtherCAT/DeviceContainer.cpp
@@ -34,25 +34,25 @@ namespace armarx
     size_t DeviceContainer::load(const MultiNodeRapidXMLReader& rootNodeConfigs, const VirtualRobot::RobotPtr& robot)
     {
         size_t addedDevices = 0;
-        auto children = robot->getRobotNodes();
-        auto getSceneObject = [&](const std::string & name)
-        {
-            for (auto& obj : children)
-            {
-                if (obj->getName() == name)
-                {
-                    return VirtualRobot::SceneObjectPtr(obj);
-                }
-            }
-            for (auto& s : robot->getSensors())
-            {
-                if (s->getName() == name)
-                {
-                    return  VirtualRobot::SceneObjectPtr(s);
-                }
-            }
-            return VirtualRobot::SceneObjectPtr();
-        };
+        //        auto children = robot->getRobotNodes();
+        //        auto getSceneObject = [&](const std::string & name)
+        //        {
+        //            for (auto& obj : children)
+        //            {
+        //                if (obj->getName() == name)
+        //                {
+        //                    return VirtualRobot::SceneObjectPtr(obj);
+        //                }
+        //            }
+        //            for (auto& s : robot->getSensors())
+        //            {
+        //                if (s->getName() == name)
+        //                {
+        //                    return  VirtualRobot::SceneObjectPtr(s);
+        //                }
+        //            }
+        //            return VirtualRobot::SceneObjectPtr();
+        //        };
         //rootNode = rootNodeConfig;
         ARMARX_DEBUG << "Device factories: " << VirtualDeviceFactory::getAvailableClasses();
         auto defaultNode = DefaultRapidXmlReaderNode(rootNodeConfigs.nodes("DefaultConfiguration"));
@@ -64,9 +64,9 @@ namespace armarx
             }
             auto name = node.attribute_value("name");
             ARMARX_DEBUG << "Handling: " << node.name() << " name: " << name;
-            auto obj = getSceneObject(name);
+            //            auto obj = getSceneObject(name);
             //            ARMARX_CHECK_EXPRESSION_W_HINT(obj, name);
-            auto tuple = std::make_tuple(node, defaultNode, obj);
+            auto tuple = std::make_tuple(node, defaultNode, robot);
             auto instance = VirtualDeviceFactory::fromName(node.name(), tuple);
             if (!instance)
             {
diff --git a/source/RobotAPI/libraries/ArmarXEtherCAT/VirtualDeviceFactory.h b/source/RobotAPI/libraries/ArmarXEtherCAT/VirtualDeviceFactory.h
index ec7680e36131189ed0ebb7ef2e27bbdd100505df..75557cf935fde120f894522a4de0e8f988e5c253 100644
--- a/source/RobotAPI/libraries/ArmarXEtherCAT/VirtualDeviceFactory.h
+++ b/source/RobotAPI/libraries/ArmarXEtherCAT/VirtualDeviceFactory.h
@@ -29,12 +29,14 @@
 #include <ArmarXCore/core/rapidxml/wrapper/RapidXmlReader.h>
 #include <ArmarXCore/core/system/AbstractFactoryMethod.h>
 #include <VirtualRobot/VirtualRobot.h>
+#include <VirtualRobot/Robot.h>
+
 
 namespace armarx
 {
     using AbstractFunctionalDevicePtr = std::shared_ptr<class AbstractFunctionalDevice>;
 
-    using VirtualDeviceFactoryArgs = std::tuple<RapidXmlReaderNode,  armarx::DefaultRapidXmlReaderNode , VirtualRobot::SceneObjectPtr>;
+    using VirtualDeviceFactoryArgs = std::tuple<RapidXmlReaderNode,  armarx::DefaultRapidXmlReaderNode , VirtualRobot::RobotPtr>;
 
     class VirtualDeviceFactory :
         public AbstractFactoryMethod<VirtualDeviceFactory, VirtualDeviceFactoryArgs, AbstractFunctionalDevicePtr>