diff --git a/src/graph/edge.cc b/src/graph/edge.cc
index edbf4dbd36a0fc38d01173b83d9100ae0bb32529..31cc9b810d079344627e68744b86bca960caebeb 100644
--- a/src/graph/edge.cc
+++ b/src/graph/edge.cc
@@ -404,9 +404,11 @@ namespace hpp {
         ConstraintSetPtr_t constraint = ConstraintSet::create (g->robot (), "Set " + n);
 
         ConfigProjectorPtr_t proj = ConfigProjector::create(g->robot(), "proj_" + n, g->errorThreshold(), g->maxIterations());
+        IntervalsContainer_t::const_iterator itpdof = extraPassiveDofs_.begin ();
         for (NumericalConstraints_t::const_iterator it = extraNumericalConstraints_.begin ();
             it != extraNumericalConstraints_.end (); ++it) {
-          proj->add (*it);
+          proj->add (*it, *itpdof);
+          ++itpdof;
         }
 
         for (LockedJoints_t::const_iterator it = extraLockedJoints_.begin ();