diff --git a/SimDynamics/DynamicsEngine/BulletEngine/BulletObject.cpp b/SimDynamics/DynamicsEngine/BulletEngine/BulletObject.cpp
index 7ae1ba112db1771babc79363155cbd8e128d20e6..7ca161c8e1501f3ef3290d4bfab98b878a904697 100644
--- a/SimDynamics/DynamicsEngine/BulletEngine/BulletObject.cpp
+++ b/SimDynamics/DynamicsEngine/BulletEngine/BulletObject.cpp
@@ -68,11 +68,12 @@ namespace SimDynamics
                     localComTransform.block(0, 3, 3, 1) = -o->getCoMLocal();
                     //cout << "localComTransform:\n" << localComTransform << endl;
 
+                    currentTransform = localComTransform;
 
                     for (it = primitives.begin(); it != primitives.end(); it++)
                     {
-                        //currentTransform *= (*it)->transform;
-                        currentTransform = localComTransform * (*it)->transform;
+                        currentTransform *= (*it)->transform;
+                        //currentTransform = localComTransform * (*it)->transform;
                         //cout << "primitive: (*it)->transform:\n" << (*it)->transform << endl;
                         //cout << "primitive: currentTransform:\n" << currentTransform << endl;