diff --git a/src/problem-solver.cc b/src/problem-solver.cc
index 73f4a3031b2718bff29f792761641f2900d01e50..da020e177e9856b487e007dbe190f21a9df55327 100644
--- a/src/problem-solver.cc
+++ b/src/problem-solver.cc
@@ -111,9 +111,10 @@ namespace hpp {
         steeringMethod::GraphPtr_t gsm =
           HPP_DYNAMIC_PTR_CAST
 	  (steeringMethod::Graph, problem->steeringMethod());
-        if (!gsm) throw std::logic_error
-		    ("The steering method should be of type"
-		     " steeringMethod::Graph");
+        if (!gsm) {
+          return PathProjectorType::create (problem->distance(),
+              problem->steeringMethod(), step);
+        }		
         return PathProjectorType::create (problem->distance(),
             gsm->innerSteeringMethod(), step);
       }