diff --git a/src/graph-path-validation.cc b/src/graph-path-validation.cc
index 4879bc135398bfe769915f48bae1d97b5a4ec2be..f27f669940388eb32886b7a2036a23a6f08927bc 100644
--- a/src/graph-path-validation.cc
+++ b/src/graph-path-validation.cc
@@ -74,7 +74,7 @@ namespace hpp {
     bool GraphPathValidation::impl_validate (
         const PathPtr_t& path, bool reverse, PathPtr_t& validPart)
     {
-      PathVectorPtr_t pathVector (path->as <PathVector> ());
+      PathVectorPtr_t pathVector = HPP_DYNAMIC_PTR_CAST(PathVector, path);
       if (pathVector)
         return impl_validate (pathVector, reverse, validPart);