diff --git a/src/graph/helper.cc b/src/graph/helper.cc
index 66598e5b3936a563ef9f98ad4eb4189f5e461698..2531b0fe0a7064018a989344087b345ebdba408d 100644
--- a/src/graph/helper.cc
+++ b/src/graph/helper.cc
@@ -1106,7 +1106,7 @@ namespace hpp {
             BOOST_FOREACH (const se3::FrameIndex& f, robot.frameIndices.get (od.name)) {
               if (model.frames[f].type != se3::JOINT) continue;
               const JointIndex j = model.frames[f].parent;
-              JointPtr_t oj (new Joint (ps->robot(), j));
+              JointPtr_t oj (Joint::create (ps->robot(), j));
               LiegroupSpacePtr_t space (oj->configurationSpace ());
               LiegroupElement lge (robot.currentConfiguration()
                                    .segment (oj->rankInConfiguration (),