diff --git a/VirtualRobot/SceneObject.cpp b/VirtualRobot/SceneObject.cpp
index 332bb8468784e63926d4fe85f3187c34bb310045..e9de5a87cc7757ce9efb0a80d2f25d11c28738b9 100644
--- a/VirtualRobot/SceneObject.cpp
+++ b/VirtualRobot/SceneObject.cpp
@@ -1495,4 +1495,8 @@ namespace VirtualRobot
         }
         return reloaded;
     }
+
+    const std::string &SceneObject::getVisualizationModelXML() const {
+        return visualizationModelXML;
+    }
 } // namespace
diff --git a/VirtualRobot/SceneObject.h b/VirtualRobot/SceneObject.h
index 126f9402f73301910c8fcba788a254bd2f0bddc0..ad6bce5d835f3d1cecd452fcf1eeb753b068b434 100644
--- a/VirtualRobot/SceneObject.h
+++ b/VirtualRobot/SceneObject.h
@@ -396,6 +396,8 @@ namespace VirtualRobot
 
         bool reloadVisualizationFromXML(bool useVisAsColModelIfMissing = true);
 
+        const std::string& getVisualizationModelXML() const;
+
     protected:
         virtual SceneObject* _clone(const std::string& name, CollisionCheckerPtr colChecker = CollisionCheckerPtr(), float scaling = 1.0f) const;