diff --git a/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.h b/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.h
index 30622c494badd5bcff107059cef6d6675d6810e4..f77b932d6b598f03eaa908071516e73e8eec3447 100644
--- a/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.h
+++ b/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.h
@@ -307,7 +307,7 @@ protected:
   void ComputeInternalStatistics(void);
   /** Call the superclass implementation and set the StatisticsHaveBeenGenerated
    * flag to false */
-  virtual void Modified(void);
+  virtual void Modified(void) const;
 
 private:
   /** Ponderation declaration*/
@@ -322,7 +322,7 @@ private:
   /** Optimisation matrix */
   MatrixType m_Vcondopt;
   /** True if internal statistics have been generated */
-  bool m_StatisticsHaveBeenGenerated;
+  mutable bool m_StatisticsHaveBeenGenerated;
 };
 
 } // end namespace otb
diff --git a/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.txx b/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.txx
index 994bdecda2fb7d727b81f402b89caad8a574ede3..f96331eebd388a4d300897826de431c64e3df04a 100644
--- a/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.txx
+++ b/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.txx
@@ -62,7 +62,7 @@ BayesianFusionFilter<TInputMultiSpectralImage,
     TInputMultiSpectralInterpImage,
     TInputPanchroImage,
     TOutputImage>
-::Modified()
+::Modified() const
 {
   Superclass::Modified();
   m_StatisticsHaveBeenGenerated = false;