diff --git a/Framework/MDAlgorithms/src/IntegratePeaksMD2.cpp b/Framework/MDAlgorithms/src/IntegratePeaksMD2.cpp
index b8e089a27153aaf01f5266822b81b3d649a57d49..5ac1e151f76a95ec34d14d463c2bfddaafb06f6a 100644
--- a/Framework/MDAlgorithms/src/IntegratePeaksMD2.cpp
+++ b/Framework/MDAlgorithms/src/IntegratePeaksMD2.cpp
@@ -499,9 +499,14 @@ void IntegratePeaksMD2::integrate(typename MDEventWorkspace<MDE, nd>::sptr ws) {
   std::ostringstream strs;
 strs << maxPeak[0];
 std::string strMax = strs.str();
-      if (profileFunction == "Gaussian") myFunc += ", PeakCentre=50, Height="+ strMax;
-      else if (profileFunction == "BackToBackExponential") myFunc += ", X0=50, I="+ strMax;
-      else if (profileFunction == "IkedaCarpenterPV") myFunc += ", X0=50, I="+ strMax;
+      if (profileFunction == "Gaussian") {
+          myFunc += ", PeakCentre=50, Height="+ strMax;
+          fitAlgorithm->setProperty("Constraints", "40<f1.PeakCentre<60");
+      }
+      else if (profileFunction == "BackToBackExponential" || profileFunction == "IkedaCarpenterPV") {
+          myFunc += ", X0=50, I="+ strMax;
+          fitAlgorithm->setProperty("Constraints", "40<f1.X0<60");
+      }
   fitAlgorithm->setProperty("CalcErrors", true);
   fitAlgorithm->setProperty("Function", myFunc);
   fitAlgorithm->setProperty("InputWorkspace", wsProfile2D);