diff --git a/Modules/Wrappers/ApplicationEngine/src/otbWrapperInputProcessXMLParameter.cxx b/Modules/Wrappers/ApplicationEngine/src/otbWrapperInputProcessXMLParameter.cxx
index 448e744727cca670ceb58ab0e4ada5f0d2f579e2..b91c7641d828b2c0dcd469d637fe198323f40627 100644
--- a/Modules/Wrappers/ApplicationEngine/src/otbWrapperInputProcessXMLParameter.cxx
+++ b/Modules/Wrappers/ApplicationEngine/src/otbWrapperInputProcessXMLParameter.cxx
@@ -273,166 +273,164 @@ InputProcessXMLParameter::Read(Application::Pointer this_)
     //   << param->HasUserValue() << "\t"
     //   << value << std::endl;
 
-    if( !param->HasUserValue() )
+    param->SetUserValue(true);
+    param->SetActive(true);
+
+    TiXmlElement* n_Values = ITK_NULLPTR;
+    n_Values = n_Parameter->FirstChildElement("values");
+    if(n_Values)
       {
-      param->SetUserValue(true);
-      param->SetActive(true);
+      for(TiXmlElement* n_Value = n_Values->FirstChildElement("value"); n_Value != ITK_NULLPTR;
+	  n_Value = n_Value->NextSiblingElement())
+	{
+	values.push_back(n_Value->GetText());
+	}
+      }
 
-      TiXmlElement* n_Values = ITK_NULLPTR;
-      n_Values = n_Parameter->FirstChildElement("values");
-      if(n_Values)
-        {
-        for(TiXmlElement* n_Value = n_Values->FirstChildElement("value"); n_Value != ITK_NULLPTR;
-            n_Value = n_Value->NextSiblingElement())
-          {
-          values.push_back(n_Value->GetText());
-          }
-        }
+    if ( type == ParameterType_OutputFilename || type == ParameterType_OutputVectorData ||
+	 type == ParameterType_String || type == ParameterType_Choice || type == ParameterType_RAM)
+      {
+      this_->SetParameterString(key, value);
+      }
+    else if( type == ParameterType_OutputImage )
+      {
+      assert( dynamic_cast< OutputImageParameter * >( param )==param );
 
-      if ( type == ParameterType_OutputFilename || type == ParameterType_OutputVectorData ||
-           type == ParameterType_String || type == ParameterType_Choice || type == ParameterType_RAM)
-        {
-        this_->SetParameterString(key, value);
-        }
-      else if( type == ParameterType_OutputImage )
-        {
-	assert( dynamic_cast< OutputImageParameter * >( param )==param );
+      OutputImageParameter * outImageParam =
+	dynamic_cast< OutputImageParameter * >( param );
 
-        OutputImageParameter * outImageParam =
-	  dynamic_cast< OutputImageParameter * >( param );
+      assert( outImageParam!=ITK_NULLPTR );
 
-	assert( outImageParam!=ITK_NULLPTR );
+      outImageParam->SetFileName( value );
 
-	outImageParam->SetFileName( value );
+      std::string pixelType(
+	GetChildNodeTextOf(n_Parameter, "pixtype" )
+      );
 
-	std::string pixelType(
-	  GetChildNodeTextOf(n_Parameter, "pixtype" )
-	);
+      if( pixelType.empty() )
+	std::runtime_error( "Invalid pixel type (empty string)." );
 
-	if( pixelType.empty() )
-	  std::runtime_error( "Invalid pixel type (empty string)." );
+      outImageParam->SetPixelType(
+	GetPixelTypeFromString( pixelType )
+      );
+      }
+    else if (type == ParameterType_ComplexOutputImage)
+      {
+      ComplexOutputImageParameter* paramDown = dynamic_cast<ComplexOutputImageParameter*>(param);
+      if(paramDown!=ITK_NULLPTR)
+	paramDown->SetFileName(value);
+      }
+    else if (type == ParameterType_Directory)
+      {
+      DirectoryParameter* paramDown = dynamic_cast<DirectoryParameter*>(param);
+      if(paramDown!=ITK_NULLPTR)
+	paramDown->SetValue(value);
+      }
+    else if (type == ParameterType_InputFilename)
+      {
+      InputFilenameParameter* paramDown = dynamic_cast<InputFilenameParameter*>(param);
+      if(paramDown!=ITK_NULLPTR)
+	paramDown->SetValue(value);
+      }
+    else if (type == ParameterType_InputImage)
+      {
+      if(itksys::SystemTools::FileExists(value.c_str()))
+	{
+	InputImageParameter* paramDown = dynamic_cast<InputImageParameter*>(param);
+	if(paramDown!=ITK_NULLPTR)
+	  {
+	  paramDown->SetFromFileName(value);
+	  if (!paramDown->SetFromFileName(value))
+	    {
+	    ret= -1;
+	    }
+	  }
+	}
+      else
+	{
+	otbMsgDevMacro( << "InputImageFile saved in InputXML does not exists" );
+	}
+      }
+    else if (type == ParameterType_ComplexInputImage)
+      {
+      if(itksys::SystemTools::FileExists(value.c_str()))
+	{
+	ComplexInputImageParameter* paramDown = dynamic_cast<ComplexInputImageParameter*>(param);
+	if(paramDown!=ITK_NULLPTR)
+	  paramDown->SetFromFileName(value);
+	}
+      }
+    else if (dynamic_cast<InputVectorDataParameter*>(param))
+      {
+      if(itksys::SystemTools::FileExists(value.c_str()))
+	{
+	InputVectorDataParameter* paramDown = dynamic_cast<InputVectorDataParameter*>(param);
+	paramDown->SetFromFileName(value);
+	if ( !paramDown->SetFromFileName(value) )
+	  {
+	  ret = -1;
+	  }
+	}
+      }
+    else if (dynamic_cast<InputImageListParameter*>(param))
+      {
+      InputImageListParameter* paramDown = dynamic_cast<InputImageListParameter*>(param);
+      paramDown->SetListFromFileName(values);
+      if ( !paramDown->SetListFromFileName(values) )
+	{
+	ret = -1;
+	}
+      }
+    else if (dynamic_cast<InputVectorDataListParameter*>(param))
+      {
+      InputVectorDataListParameter* paramDown = dynamic_cast<InputVectorDataListParameter*>(param);
+      paramDown->SetListFromFileName(values);
+      if ( !paramDown->SetListFromFileName(values) )
+	{
+	ret = -1;
+	}
+      }
+    else if (dynamic_cast<InputFilenameListParameter*>(param))
+      {
+      InputFilenameListParameter* paramDown = dynamic_cast<InputFilenameListParameter*>(param);
+      paramDown->SetListFromFileName(values);
+      if ( !paramDown->SetListFromFileName(values) )
+	{
+	ret= -1;
+	}
+      }
+    else if (type == ParameterType_Radius || type == ParameterType_Int ||
+	     typeAsString == "rand" )
+      {
+      int intValue;
+      std::stringstream(value) >> intValue;
+      this_->SetParameterInt(key, intValue);
+      }
+    else if (type == ParameterType_Float)
+      {
+      float floatValue;
+      std::stringstream(value) >> floatValue;
+      this_->SetParameterFloat(key, floatValue);
+      }
+    else if (type == ParameterType_Empty)
+      {
+      bool emptyValue = false;
+      if( value == "true")
+	{
+	emptyValue = true;
+	}
+      this_->SetParameterEmpty(key, emptyValue);
+      }
+    else if (type == ParameterType_StringList || type == ParameterType_ListView)
+      {
+      if(values.empty())
+	itkWarningMacro(<< key << " has null values");
 
-	outImageParam->SetPixelType(
-	  GetPixelTypeFromString( pixelType )
-	);
-        }
-      else if (type == ParameterType_ComplexOutputImage)
-        {
-        ComplexOutputImageParameter* paramDown = dynamic_cast<ComplexOutputImageParameter*>(param);
-        if(paramDown!=ITK_NULLPTR)
-          paramDown->SetFileName(value);
-        }
-      else if (type == ParameterType_Directory)
-        {
-        DirectoryParameter* paramDown = dynamic_cast<DirectoryParameter*>(param);
-        if(paramDown!=ITK_NULLPTR)
-          paramDown->SetValue(value);
-        }
-      else if (type == ParameterType_InputFilename)
-        {
-        InputFilenameParameter* paramDown = dynamic_cast<InputFilenameParameter*>(param);
-        if(paramDown!=ITK_NULLPTR)
-          paramDown->SetValue(value);
-        }
-      else if (type == ParameterType_InputImage)
-        {
-        if(itksys::SystemTools::FileExists(value.c_str()))
-          {
-          InputImageParameter* paramDown = dynamic_cast<InputImageParameter*>(param);
-          if(paramDown!=ITK_NULLPTR)
-            {
-            paramDown->SetFromFileName(value);
-            if (!paramDown->SetFromFileName(value))
-              {
-              ret= -1;
-              }
-            }
-          }
-        else
-          {
-          otbMsgDevMacro( << "InputImageFile saved in InputXML does not exists" );
-          }
-        }
-      else if (type == ParameterType_ComplexInputImage)
-        {
-        if(itksys::SystemTools::FileExists(value.c_str()))
-          {
-          ComplexInputImageParameter* paramDown = dynamic_cast<ComplexInputImageParameter*>(param);
-          if(paramDown!=ITK_NULLPTR)
-            paramDown->SetFromFileName(value);
-          }
-        }
-      else if (dynamic_cast<InputVectorDataParameter*>(param))
-        {
-        if(itksys::SystemTools::FileExists(value.c_str()))
-          {
-          InputVectorDataParameter* paramDown = dynamic_cast<InputVectorDataParameter*>(param);
-          paramDown->SetFromFileName(value);
-          if ( !paramDown->SetFromFileName(value) )
-            {
-            ret = -1;
-            }
-          }
-        }
-      else if (dynamic_cast<InputImageListParameter*>(param))
-        {
-        InputImageListParameter* paramDown = dynamic_cast<InputImageListParameter*>(param);
-        paramDown->SetListFromFileName(values);
-        if ( !paramDown->SetListFromFileName(values) )
-          {
-          ret = -1;
-          }
-        }
-      else if (dynamic_cast<InputVectorDataListParameter*>(param))
-        {
-        InputVectorDataListParameter* paramDown = dynamic_cast<InputVectorDataListParameter*>(param);
-        paramDown->SetListFromFileName(values);
-        if ( !paramDown->SetListFromFileName(values) )
-          {
-          ret = -1;
-          }
-        }
-      else if (dynamic_cast<InputFilenameListParameter*>(param))
-        {
-        InputFilenameListParameter* paramDown = dynamic_cast<InputFilenameListParameter*>(param);
-        paramDown->SetListFromFileName(values);
-        if ( !paramDown->SetListFromFileName(values) )
-          {
-          ret= -1;
-          }
-        }
-      else if (type == ParameterType_Radius || type == ParameterType_Int ||
-               typeAsString == "rand" )
-        {
-        int intValue;
-        std::stringstream(value) >> intValue;
-        this_->SetParameterInt(key, intValue);
-        }
-      else if (type == ParameterType_Float)
-        {
-        float floatValue;
-        std::stringstream(value) >> floatValue;
-        this_->SetParameterFloat(key, floatValue);
-        }
-      else if (type == ParameterType_Empty)
-        {
-        bool emptyValue = false;
-        if( value == "true")
-          {
-          emptyValue = true;
-          }
-        this_->SetParameterEmpty(key, emptyValue);
-        }
-      else if (type == ParameterType_StringList || type == ParameterType_ListView)
-        {
-        if(values.empty())
-          itkWarningMacro(<< key << " has null values");
+      this_->SetParameterStringList(key, values);
+      }
+    } //end updateFromXML
+  //choice also comes as setint and setstring why??
 
-        this_->SetParameterStringList(key, values);
-        }
-      } //end updateFromXML
-    //choice also comes as setint and setstring why??
-    }
   ret = 0; //resetting return to zero, we don't use it anyway for now.
 
   fclose(fp);