diff --git a/KMatrixExtract/TMatrixErrorExtr.cc b/KMatrixExtract/TMatrixErrorExtr.cc
index 35efa682a9d085f5d577fb3229d08fb74c403134..bdb25d0c0e948ed4e9a2150fdb16604d2accaf1d 100644
--- a/KMatrixExtract/TMatrixErrorExtr.cc
+++ b/KMatrixExtract/TMatrixErrorExtr.cc
@@ -213,23 +213,26 @@ std::complex<double> TMatrixErrorExtr::CalcMassWidth(std::shared_ptr<AbsPawianPa
   InfoMsg <<"Start Migrad "<< endmsg;
   FunctionMinimum min = migrad();
 
+  InfoMsg <<"refit with current parameters"<< endmsg;
+  MnUserParameters upar1a;
+  upar1a.Add("eReal", min.UserState().Value("eReal"), 0.001, _energyMin.real(), _energyMax.real());
+  upar1a.Add("eImag", min.UserState().Value("eImag"), 0.001, _energyMin.imag(), _energyMax.imag());
+  MnMigrad migrad1a(fitFcn, upar1a);
+  min = migrad1a();
+
   if(!min.IsValid()) {
-    // Try with higher strategy
-    InfoMsg <<"FM is invalid, try with strategy = 2."<< endmsg;
-    MnMigrad migrad2(fitFcn, min.UserState(), MnStrategy(2));
-    min = migrad2();
+    // Try again with current params = start params
+    // InfoMsg <<"FM is invalid, try again with strategy = 1. and current parameters"<< endmsg;
+    // MnMigrad migrad1a(fitFcn, min.UserState(), MnStrategy(1));
+    // min = migrad1a();
+    // if(!min.IsValid()) {
+      // Try with higher strategy
+      InfoMsg <<"FM is still invalid, try now with strategy = 2."<< endmsg;
+      MnMigrad migrad2(fitFcn, min.UserState(), MnStrategy(2));
+      min = migrad2();
+      //         }
   }
 
-  //start second iteration
-  // MnMigrad migrad1a(fitFcn, min.UserState(), MnStrategy(1));
-  // min = migrad1a();
-  // if(!min.IsValid()) {
-  //   // Try with higher strategy
-  //   InfoMsg <<"FM is invalid, try with strategy = 2."<< endmsg;
-  //   MnMigrad migrad2a(fitFcn, min.UserState(), MnStrategy(2));
-  //   min = migrad2a();
-  // }
-  
   // Save final fit parameters and their errors in variables
   double final_eReal = min.UserState().Value("eReal");
   double final_eImag = min.UserState().Value("eImag");
diff --git a/KMatrixExtract/TMatrixExtrFcn.cc b/KMatrixExtract/TMatrixExtrFcn.cc
index 2acdd4fab7aaa236f9fc65e2c0d142b93c4e6d4b..25c4e149b16666ba79c36e76cdd2a339dae1469e 100644
--- a/KMatrixExtract/TMatrixExtrFcn.cc
+++ b/KMatrixExtract/TMatrixExtrFcn.cc
@@ -56,6 +56,7 @@ double TMatrixExtrFcn::operator()(const std::vector<double>& par) const
 
 double TMatrixExtrFcn::Up() const 
 {
-  return 1.;
+  //  return 1.;
+  return 0.5;
 }