diff --git a/Code/BasicFilters/otbSimplifyPathFunctor.h b/Code/BasicFilters/otbSimplifyPathFunctor.h
index 91c868b1a7763f08aa7e44372dec64545d0f286e..f9fd52e8295a34719383a02e163d78e9f8cdf3a9 100644
--- a/Code/BasicFilters/otbSimplifyPathFunctor.h
+++ b/Code/BasicFilters/otbSimplifyPathFunctor.h
@@ -50,10 +50,10 @@ class SimplifyPathFunctor
 {
 public:
 
-  typedef typename TInput::ObjectType::VertexListType::ConstIterator VertexListConstIteratorType;
-  typedef typename TInput::ObjectType::VertexListType::ConstPointer VertexListConstPointerType;
-  typedef TOutput OutputPathPointerType;
-  typedef typename OutputPathPointerType::ObjectType OutputPathType;
+  typedef typename TInput::VertexListType::ConstIterator VertexListConstIteratorType;
+  typedef typename TInput::VertexListType::ConstPointer  VertexListConstPointerType;
+  typedef TOutput                                        OutputPathType;
+  typedef typename OutputPathType::Pointer               OutputPathPointerType;
 
   void SetTolerance(double Tolerance )
   {
@@ -70,7 +70,7 @@ public:
   };
   ~SimplifyPathFunctor() {};
 
-  inline OutputPathPointerType operator()(const TInput & input)
+  inline OutputPathPointerType operator()(const TInput * input)
   {
 
     OutputPathPointerType newPath = OutputPathType::New();
diff --git a/Code/FeatureExtraction/otbSimplifyPathListFilter.h b/Code/FeatureExtraction/otbSimplifyPathListFilter.h
index 5da8fb3f9d5fe98ade37bc34bcdb2b0a3aaa3c75..77400608c19a96e7acc640fc4d73191d9106492c 100644
--- a/Code/FeatureExtraction/otbSimplifyPathListFilter.h
+++ b/Code/FeatureExtraction/otbSimplifyPathListFilter.h
@@ -64,7 +64,7 @@ class ITK_EXPORT  SimplifyPathListFilter:
       public UnaryFunctorObjectListFilter<
       ObjectList<TPath>,
       ObjectList<TPath>,
-      SimplifyPathFunctor<typename TPath::Pointer, typename TPath::Pointer> >
+      SimplifyPathFunctor<TPath,TPath> >
   {};
 
 }// End namespace otb