diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h
index 8c2a578642ccd736d0ccc0354f2db96da64bd480..01684af9326ed3b20133ddedcce04d9f29f4c8ae 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h
@@ -48,8 +48,11 @@ public:
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
 
+signals:
+  void FileNameIsSet();
+
 protected slots:
-  bool SetFileName( const QString& value );
+  bool SetFileName();
   void SelectFile();
 
 private:
diff --git a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageParameter.cxx b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageParameter.cxx
index 2f2b06519d1a69b0e0253d4f710bd2e9dad45660..2929d528a5515d1f4696b390e99e4ef46b0b0b20 100644
--- a/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageParameter.cxx
+++ b/Modules/Wrappers/QtWidget/src/otbWrapperQtWidgetInputImageParameter.cxx
@@ -69,8 +69,8 @@ void QtWidgetInputImageParameter::DoCreateWidget()
   m_HLayout->setContentsMargins(0, 0, 0, 0);
   m_Input = new QLineEdit;
   m_Input->setToolTip( m_InputImageParam->GetDescription() );
-  connect( m_Input, SIGNAL(textChanged(const QString&)), this, SLOT(SetFileName(const QString&)) );
-  connect( m_Input, SIGNAL(textChanged(const QString&)), GetModel(), SLOT(NotifyUpdate()) );
+  connect( m_Input, SIGNAL(editingFinished()), this, SLOT(SetFileName()) );
+  connect( this, SIGNAL(FileNameIsSet()), GetModel(), SLOT(NotifyUpdate()) );
 
   m_HLayout->addWidget(m_Input);
 
@@ -105,7 +105,9 @@ QtWidgetInputImageParameter
   if( filename.isEmpty() )
     return;
 
-  if( !SetFileName( filename ) )
+  m_Input->setText( filename  );
+
+  if( !SetFileName() )
     {
     std::ostringstream oss;
 
@@ -119,21 +121,20 @@ QtWidgetInputImageParameter
 
     return;
     }
-
-  m_Input->setText( filename  );
 }
 
-bool QtWidgetInputImageParameter::SetFileName(const QString& value)
+bool QtWidgetInputImageParameter::SetFileName()
 {
   bool res = true;
   // save value
   if( m_InputImageParam->SetFromFileName(
-	QFile::encodeName( value ).constData() ) == true )
+	QFile::encodeName( m_Input->text() ).constData() ) == true )
     {
     // notify of value change
     QString key( m_InputImageParam->GetKey() );
 
     emit ParameterChanged(key);
+    emit FileNameIsSet();
     }
   else
     res = false;