Index: trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc
===================================================================
--- trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc	(revision 5812)
+++ trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc	(revision 5813)
@@ -268,11 +268,12 @@
       fWindowSizeHiGain  = 1;
       fWindowSizeLoGain  = 1;
-    }
+      fRiseTimeHiGain    = 0.5;
+    }
+
+  fRiseTimeLoGain    = fRiseTimeHiGain * fLoGainStretch;
+  fFallTimeLoGain    = fFallTimeHiGain * fLoGainStretch;      
 
   if (IsExtractionType(kIntegral))
     {
-
-      fRiseTimeLoGain    = fRiseTimeHiGain * fLoGainStretch;
-      fFallTimeLoGain    = fFallTimeHiGain * fLoGainStretch;      
 
       fNumHiGainSamples  = fRiseTimeHiGain + fFallTimeHiGain;
@@ -334,5 +335,5 @@
       if (*p++ >= fSaturationLimit)
         if (!sat)
-          sat = ids-3;
+          sat = ids-2;
       
     }
@@ -356,5 +357,5 @@
           if (*logain++ >= fSaturationLimit)
             if (!sat)
-              sat = ids-3;
+              sat = ids-2;
 
           range++;
@@ -425,7 +426,8 @@
   // Don't start if the maxpos is too close to the limits.
   //
-  if (sat || maxpos < 1 || maxpos > range-2)
-    {
-      dtime = 0.5;
+  if (sat || maxpos < TMath::Ceil(fRiseTimeHiGain) || maxpos > range-2)
+    {
+
+      dtime = 1.0;
       if (IsExtractionType(kAmplitude))
         {
@@ -784,5 +786,6 @@
   if (sat || maxpos < TMath::Ceil(fRiseTimeLoGain) || maxpos > range-2)
     {
-      dtime = 0.5;
+
+      dtime = 1.0;
       if (IsExtractionType(kAmplitude))
         {
