diff --git a/Code/BasicFilters/otbConvolutionImageFilter.h b/Code/BasicFilters/otbConvolutionImageFilter.h
index 6317579eccebb7a8e9b956e8a083f0edcf2c2515..059043af2a4133ff3c2e7ebbc74ce42e16c527bb 100644
--- a/Code/BasicFilters/otbConvolutionImageFilter.h
+++ b/Code/BasicFilters/otbConvolutionImageFilter.h
@@ -117,7 +117,7 @@ public:
   itkGetConstReferenceMacro(Radius, InputSizeType);
 
   /** Set the input filter */
-  void SetFilter( ArrayType filter )
+  virtual void SetFilter( ArrayType filter )
   {
     if (filter.Size()!= m_Filter.Size())
     {
diff --git a/Code/BasicFilters/otbConvolutionImageFilter.txx b/Code/BasicFilters/otbConvolutionImageFilter.txx
index b1e686e5a5ed2bafcdb8100b30d70382152ab5bc..94b9db348b9e67b74cf0875ef414a6c1601a6cb8 100644
--- a/Code/BasicFilters/otbConvolutionImageFilter.txx
+++ b/Code/BasicFilters/otbConvolutionImageFilter.txx
@@ -65,6 +65,8 @@ ConvolutionImageFilter<TInputImage, TOutputImage, TBoundaryCondition>
 
   // pad the input requested region by the operator radius
   inputRequestedRegion.PadByRadius( m_Radius );
+  otbMsgDevMacro(<<"Padding by " << m_Radius );
+  otbMsgDevMacro(<<"Region is now " << inputRequestedRegion.GetIndex() << ", "<< inputRequestedRegion.GetSize() );
 
   // crop the input requested region at the input's largest possible region
   if ( inputRequestedRegion.Crop(inputPtr->GetLargestPossibleRegion()) )