diff --git a/src/problem-solver.cc b/src/problem-solver.cc
index f70e31766e7a0021306745bf7701c21f8e074de1..c759b3a8d2952be826747b189ccc899786de0e87 100644
--- a/src/problem-solver.cc
+++ b/src/problem-solver.cc
@@ -197,9 +197,11 @@ namespace hpp {
     {
       problem_ = problem;
       core::ProblemSolver::initializeProblem (problem_);
-      problem_->constraintGraph (constraintGraph_);
-      if (problem_->pathValidation ())
-        problem_->pathValidation ()->constraintGraph (constraintGraph_);
+      if (constraintGraph_) {
+        problem_->constraintGraph (constraintGraph_);
+        if (problem_->pathValidation ())
+          problem_->pathValidation ()->constraintGraph (constraintGraph_);
+      }
     }
 
     void ProblemSolver::constraintGraph (const std::string& graphName)