diff --git a/src/problem-solver.cc b/src/problem-solver.cc
index 40e21eb4de2c446b1ff655cca3e4148d1df84e9b..a75cd757a8eb622b65eb626ab7fcdf6c5ef6e948 100644
--- a/src/problem-solver.cc
+++ b/src/problem-solver.cc
@@ -129,7 +129,8 @@ namespace hpp {
       pathValidations.add ("Graph-Dichotomy"  , GraphPathValidation::create<core::continuousValidation::Dichotomy  >);
       pathValidations.add ("Graph-Progressive", GraphPathValidation::create<core::continuousValidation::Progressive>);
 
-      pathValidationType ("Graph-Discretized", 0.05);
+      // TODO Uncomment to make Graph-Discretized the default.
+      //pathValidationType ("Graph-Discretized", 0.05);
 
       pathOptimizers.add ("RandomShortcut",
           pathOptimization::RandomShortcut::create);
@@ -202,6 +203,9 @@ namespace hpp {
       core::ProblemSolver::initializeProblem (problem_);
       if (constraintGraph_)
         problem_->constraintGraph (constraintGraph_);
+      value_type tolerance;
+      const std::string& type = parent_t::pathValidationType (tolerance);
+      problem_->setPathValidationFactory (pathValidations.get(type), tolerance);
     }
 
     void ProblemSolver::constraintGraph (const std::string& graphName)
@@ -373,10 +377,10 @@ namespace hpp {
         const value_type& tolerance)
     {
       parent_t::pathValidationType(type, tolerance);
-      assert (problem_);
-      problem_->setPathValidationFactory (
-          pathValidations.get(type),
-          tolerance);
+      if (problem_)
+        problem_->setPathValidationFactory (
+            pathValidations.get(type),
+            tolerance);
     }
 
     void ProblemSolver::resetRoadmap ()
diff --git a/src/problem.cc b/src/problem.cc
index 6cb988c8d53d35048300c5da0d78fb8935c30601..8d98825315e5983c93a61bb9a2647153529c6a56 100644
--- a/src/problem.cc
+++ b/src/problem.cc
@@ -104,10 +104,6 @@ namespace hpp {
       core::Problem::checkProblem ();
       if (!graph_)
         throw std::runtime_error ("No graph in the problem.");
-      if (!pathValidation ())
-        throw std::runtime_error ("No GraphPathValidation in the problem.");
-      if (!core::Problem::steeringMethod ())
-        throw std::runtime_error ("No SteeringMethod in the problem.");
     }
   } // namespace manipulation
 } // namespace hpp