diff --git a/src/parsers/urdf/model.cpp b/src/parsers/urdf/model.cpp
index cc48058ee91c4d2f109a9f0017230862fc11bc88..86e5d286e69f53ea507d1b5e5a893c583221e5c0 100644
--- a/src/parsers/urdf/model.cpp
+++ b/src/parsers/urdf/model.cpp
@@ -128,7 +128,7 @@ namespace se3
 
         int fid = model.addFrame(
             Frame (joint_name, frame.parent, parentFrameId,
-              frame.placement, FIXED_JOINT)
+              frame.placement * joint_placement, FIXED_JOINT)
             );
         if (fid < 0)
           throw std::invalid_argument ("Fixed joint " + joint_name + " could not be added.");