diff --git a/VirtualRobot/XML/mjcf/MasslessBodySanitizer.cpp b/VirtualRobot/XML/mjcf/MasslessBodySanitizer.cpp
index 30b3e1a0eeb72c48c1c50794a6c085219ed65d16..54b7784a9dddf39e3d885e8be4731f0b9c299047 100644
--- a/VirtualRobot/XML/mjcf/MasslessBodySanitizer.cpp
+++ b/VirtualRobot/XML/mjcf/MasslessBodySanitizer.cpp
@@ -11,16 +11,14 @@ namespace VirtualRobot::mujoco
 
 using namespace mjcf;
 
-MasslessBodySanitizer::MasslessBodySanitizer(mjcf::Document& document, RobotPtr& robot) :
-    document(document), robot(robot)
+MasslessBodySanitizer::MasslessBodySanitizer(RobotPtr& robot) :
+    robot(robot)
 {}
 
-void MasslessBodySanitizer::sanitize()
+void MasslessBodySanitizer::sanitize(Worldbody worldbody)
 {
     // merge body leaf nodes with parent if they do not have a mass (inertial or geom)
     
-    Worldbody worldbody  = document.worldbody();
-    
     for (Body body = worldbody.firstChild<Body>();
          body; body = body.nextSiblingElement<Body>())
     {
diff --git a/VirtualRobot/XML/mjcf/MasslessBodySanitizer.h b/VirtualRobot/XML/mjcf/MasslessBodySanitizer.h
index fbc181d5a975c4f9d8f8adfe0d05be6d269f8421..45310e6486c98ae8aa568a919e38db54b533e044 100644
--- a/VirtualRobot/XML/mjcf/MasslessBodySanitizer.h
+++ b/VirtualRobot/XML/mjcf/MasslessBodySanitizer.h
@@ -36,9 +36,9 @@ namespace mujoco
     {
     public:
         
-        MasslessBodySanitizer(mjcf::Document& document, RobotPtr& robot);
+        MasslessBodySanitizer(RobotPtr& robot);
         
-        void sanitize();
+        void sanitize(mjcf::Worldbody worldbody);
         
         const std::vector<MergedBodySet>& getMergedBodySets() const;
 
@@ -57,7 +57,6 @@ namespace mujoco
         const std::string t = "| ";
         
         
-        mjcf::Document& document;
         RobotPtr& robot;
         
         std::vector<MergedBodySet> mergedBodySets;