diff --git a/src/graph/node.cc b/src/graph/node.cc
index 0746b5eaf09cda06e3a61a821043ed318978186c..d186c79fdd6fcfa3570dd61d61e85446f252ccfd 100644
--- a/src/graph/node.cc
+++ b/src/graph/node.cc
@@ -87,14 +87,8 @@ namespace hpp {
       ConstraintPtr_t Node::configConstraint()
       {
         if (!configConstraints_) {
-          ConstraintSetPtr_t configConst = buildConstraintSet (graph_, name () + "-cfgconstraint");
-          insertListIn <LockedDofs_t> (lockedDofConstraints_, configConst);
-          if (numericalConstraints_.size () > 0) {
-            ConfigProjectorPtr_t cp = buildConfigProjector (graph_, name () + "cfgproj");
-            insertListIn <DifferentiableFunctions_t> (numericalConstraints_, cp);
-            configConst->addConstraint (HPP_DYNAMIC_PTR_CAST(Constraint, cp));
-          }
-          configConstraints_ = configConst;
+          Nodes_t thisNode; thisNode.push_back (wkPtr_.lock ());
+          configConstraints_ = graph_.lock ()->configConstraint (thisNode);
         }
         return configConstraints_;
       }