diff --git a/include/hpp/manipulation/graph/node.hh b/include/hpp/manipulation/graph/node.hh
index 00036883cabd1e20725ecb37dfdac3fd311e3525..ecefcfb55496e364be256aab4407839ad5aa4aa5 100644
--- a/include/hpp/manipulation/graph/node.hh
+++ b/include/hpp/manipulation/graph/node.hh
@@ -103,9 +103,13 @@ namespace hpp {
           /// \return true is at least one NumericalConstraintPtr_t was inserted.
           bool insertNumericalConstraintsForPath (ConfigProjectorPtr_t& proj) const
           {
+            assert (numericalConstraintsForPath_.size () == passiveDofsForPath_.size ());
+            IntervalsContainer_t::const_iterator itpdofs = passiveDofsForPath_.begin ();
             for (NumericalConstraints_t::const_iterator it = numericalConstraintsForPath_.begin();
-                it != numericalConstraintsForPath_.end(); it++)
-              proj->add (*it);
+                it != numericalConstraintsForPath_.end(); it++) {
+              proj->add (*it, *itpdofs);
+              itpdofs++;
+            }
             return !numericalConstraintsForPath_.empty ();
           }