diff --git a/src/graph-path-validation.cc b/src/graph-path-validation.cc
index 66089c10b933cb98eae2645b91f20443766a8c50..464d4c6e0c20382d294b14116c1e439943fa3991 100644
--- a/src/graph-path-validation.cc
+++ b/src/graph-path-validation.cc
@@ -93,10 +93,7 @@ namespace hpp {
       ConstraintSetPtr_t constraints;
       while (!possibleEdges.empty ()) {
         constraints = constraintGraph_->pathConstraint (possibleEdges.back(), configAt (tmin));
-        // TODO: We need a quick way of checking that a configuration
-        // statisfies a constraint.
-        Configuration_t cfg = configAt (tmax);
-        if (constraints->apply(cfg) && ( cfg == configAt(tmax) )) {
+        if (constraints->isSatisfied (configAt (tmax))) {
           validPart = path;
           return true;
         }
diff --git a/src/graph/node-selector.cc b/src/graph/node-selector.cc
index 909ed6534221ce5f9794e93d3611ce5b2c00d3c1..cc29fe860819e195e02178015caa9204b1e34caa 100644
--- a/src/graph/node-selector.cc
+++ b/src/graph/node-selector.cc
@@ -50,6 +50,7 @@ namespace hpp {
             orderedStates_.end() != it; it++)
           if ((*it)->contains(config))
             return *it;
+        throw std::logic_error ("A configuration has no node");
         return NodePtr_t ();
       }