diff --git a/Modules/Core/Functor/test/otbFunctorImageFilter.cxx b/Modules/Core/Functor/test/otbFunctorImageFilter.cxx
index a8323f2fd23082d54c71f410105827d325fbc1e3..19fd675af18e64beade5d94997c8e36d55d8d1f7 100644
--- a/Modules/Core/Functor/test/otbFunctorImageFilter.cxx
+++ b/Modules/Core/Functor/test/otbFunctorImageFilter.cxx
@@ -29,6 +29,7 @@
 
 #include <numeric>
 #include <complex>
+#include <math.h>
 
 // static tests
 
@@ -345,6 +346,12 @@ int otbFunctorImageFilter(int itkNotUsed(argc), char * itkNotUsed(argv) [])
   filter->SetVariadicInputs(vimage,image);
   std::cout<<filter->GetVariadicInput<0>()<< filter->GetVariadicInput<1>()<<std::endl;
 
+  // Test FunctorImageFilter with a built-in math function
+  using CosType = double(double);
+  auto filterCos = NewFunctorFilter(static_cast<CosType *>(std::cos));
+  filterCos->SetVariadicInputs(image);
+  filterCos->Update();
+    
   
   // test FunctorImageFilter with a lambda
   double scale = 10.;