diff --git a/Applications/Util/otbRescale.cxx b/Applications/Util/otbRescale.cxx
index 9fb55e999a678e23d33c7288d11dded0a9f49f96..b2a7679e0b7c562675828b0f27926b2d5fff3404 100644
--- a/Applications/Util/otbRescale.cxx
+++ b/Applications/Util/otbRescale.cxx
@@ -75,15 +75,21 @@ private:
 
   void DoUpdateParameters()
   {
-    // Nothing to do here : all parameters are independent
+    // Nothing to do here for the parameters : all are independent
+    
+    // Reinitialize the object
+    m_RescaleFilter = RescaleImageFilterType::New();
+    m_MinMaxFilter = MinMaxFilterType::New();
+    this->ClearInternalProcessList();
+    this->AddInternalProcess( m_MinMaxFilter->GetStreamer(), "Min/Max computing" );
   }
 
   void DoExecute()
-  { 
+  {
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
-   
+
     m_MinMaxFilter->GetStreamer()->SetNumberOfLinesStrippedStreaming( 50 );
-   
+
     m_MinMaxFilter->SetInput( inImage );
     std::cout<<inImage->GetLargestPossibleRegion()<<std::endl;
     otb::StandardFilterWatcher watcher(m_MinMaxFilter, "Min Max Computation");