diff --git a/Modules/Core/Functor/include/otbFunctorImageFilter.hxx b/Modules/Core/Functor/include/otbFunctorImageFilter.hxx
index 8c1894d085a0de082c22463f4bbecd1a8c9f3436..6807c56f1acc0dda5833bd5705538feeb042ce8e 100644
--- a/Modules/Core/Functor/include/otbFunctorImageFilter.hxx
+++ b/Modules/Core/Functor/include/otbFunctorImageFilter.hxx
@@ -71,7 +71,13 @@ int SetInputRequestedRegion(const T* img, const itk::ImageRegion<2>& region, con
 template <typename HasNeighborhood, class Tuple, size_t... Is>
 auto SetInputRequestedRegionsImpl(Tuple& t, const itk::ImageRegion<2>& region, std::index_sequence<Is...>, const itk::Size<2>& radius)
 {
-  return std::make_tuple(SetInputRequestedRegion(std::get<Is>(t), region, radius, typename std::tuple_element<Is, HasNeighborhood>::type::value_type())...);
+  return std::make_tuple(
+    SetInputRequestedRegion(
+      std::get<Is>(t),
+      region,
+      radius,
+      std::tuple_element<Is, HasNeighborhood>::type::value)...
+  );
 }
 
 // Will be easier to write in c++17 with std::apply and fold expressions