diff --git a/src/graph/graph.cc b/src/graph/graph.cc
index a15450acb20da3ca0b7eaa8ca85c74bbcb86813c..95bfa1b65acdcf527b15b7f9bbf7fbd2fda8c98b 100644
--- a/src/graph/graph.cc
+++ b/src/graph/graph.cc
@@ -85,6 +85,7 @@ namespace hpp {
           insertListIn <LockedDofs_t> ((*it)->lockedDofConstraints (), constraint);
 
         ConfigProjectorPtr_t proj = ConfigProjector::create(robot(), name (), errorThreshold(), maxIterations());
+        insertListIn <DifferentiableFunctions_t> (numericalConstraints (), proj);
         for (Nodes_t::const_iterator it = nodes.begin();
             it != nodes.end(); it++)
           insertListIn <DifferentiableFunctions_t> ((*it)->numericalConstraints (), proj);
@@ -104,6 +105,7 @@ namespace hpp {
         }
 
         ConfigProjectorPtr_t proj = ConfigProjector::create(robot(), name (), errorThreshold(), maxIterations());
+        insertListIn <DifferentiableFunctions_t> (numericalConstraints (), proj);
         for (Edges_t::const_iterator it = edges.begin();
             it != edges.end(); it++) {
           insertListIn <DifferentiableFunctions_t> ((*it)->numericalConstraints (), proj);
@@ -124,6 +126,7 @@ namespace hpp {
           insertListIn <LockedDofs_t> ((*it)->lockedDofConstraints (), constraint);
 
         ConfigProjectorPtr_t proj = ConfigProjector::create(robot(), name (), errorThreshold(), maxIterations());
+        insertListIn <DifferentiableFunctions_t> (numericalConstraints (), proj);
         for (Edges_t::const_iterator it = edges.begin();
             it != edges.end(); it++)
           insertListIn <DifferentiableFunctions_t> ((*it)->numericalConstraints (), proj);