diff --git a/app/otbSARPhaseFiltering.cxx b/app/otbSARPhaseFiltering.cxx
index 9307df622edf344918aa32a0d261e9825e529275..684ec00bd2b5a50687b792e64c3b497f8c56fd1b 100644
--- a/app/otbSARPhaseFiltering.cxx
+++ b/app/otbSARPhaseFiltering.cxx
@@ -116,6 +116,12 @@ namespace otb
 	SetMinimumParameterIntValue("mlazi", 1);
 	MandatoryOff("mlazi");
 
+	AddParameter(ParameterType_Float, "gain", "Gain to apply on output amplitude");
+	SetParameterDescription("gain","Gain to apply on output amplitude");
+	SetDefaultParameterFloat("gain", 0.1);
+	SetMinimumParameterFloatValue("gain", 0);
+	MandatoryOff("gain");
+
 	AddParameter(ParameterType_Float, "alpha", "alpha parameter for Goldstein filter");
 	SetParameterDescription("alpha","alpha parameter for Goldstein filter.");
 	SetDefaultParameterFloat("alpha", 0.7);
@@ -145,12 +151,14 @@ namespace otb
 	int sizeTiles = GetParameterInt("sizetiles");
 	int factor_azi = GetParameterInt("mlazi");
 	int factor_ran = GetParameterInt("mlran");
-	
+	float gain = GetParameterFloat("gain");
+
 	otbAppLogINFO(<<"Alpha for Goldstein filter : "<<alpha);
 	otbAppLogINFO(<<"Step for window extraction (for each step pixel) : "<<step);
 	otbAppLogINFO(<<"Size of tiles  : "<<sizeTiles);
 	otbAppLogINFO(<<"Averaging Factor on azimut for final interferogram :"<<factor_azi);
 	otbAppLogINFO(<<"Averaging Factor on range for final interferogram : "<<factor_ran);
+	otbAppLogINFO(<<"Gain to apply on output amplitude : "<<gain);
 	
 	// Complex Ptr
 	ComplexFloatImageType::Pointer inComplexPtr;
@@ -302,7 +310,7 @@ namespace otb
 	filterGroupedBy->SetInput(filterPhase->GetOutput());
 	filterGroupedBy->SetMLRan(factor_ran);
 	filterGroupedBy->SetMLAzi(factor_azi);
-	filterGroupedBy->SetGain(1);
+	filterGroupedBy->SetGain(gain);
 	filterGroupedBy->SetMarginRan(1);
 	filterGroupedBy->SetMarginAzi(1);