diff --git a/core/qa/CbmQaUtil.cxx b/core/qa/CbmQaUtil.cxx
index d2cee90e5426208e2fc281c066b605683ff20d16..746d067ca8d544969c3ebd2a690e2aca337ffa2d 100644
--- a/core/qa/CbmQaUtil.cxx
+++ b/core/qa/CbmQaUtil.cxx
@@ -134,19 +134,25 @@ namespace cbm::qa::util
     // check if the histogram has enough entries excluding underflow and overflow bins
     double entries = 0.;
     for (int i = 1; i <= pHist->GetNbinsX(); ++i) {
-      entries += fabs(pHist->GetBinContent(i));
+      if (fabs(pHist->GetBinContent(i)) > 0.) {
+        entries++;
+      }
     }
 
     // fit the histogram in quite mode
     if (entries > 0) {
-
       pHist->Fit(&fit, "Q");
-
       TF1* f = pHist->GetFunction("FitKaniadakisGaussian");
       assert(f);
 
-      // calculate the Std Dev
-      f->SetParameter(1, sqrt(f->CentralMoment(2, xMin, xMax)));
+      // calculate the Std Dev and put it to parameter [1]
+
+      if (entries > 1) {
+        f->SetParameter(1, sqrt(f->CentralMoment(2, xMin, xMax)));
+      }
+      else {
+        f->SetParameter(1, f->GetParameter(3));
+      }
       f->SetParError(1, f->GetParError(3));
 
       // fix some parameters to prevent them from showing up in the stat window
@@ -154,7 +160,6 @@ namespace cbm::qa::util
       f->FixParameter(2, f->GetParameter(2));
       f->FixParameter(3, f->GetParameter(3));
       f->FixParameter(4, f->GetParameter(4));
-
       retValue = std::tuple(f->GetParameter(0), f->GetParameter(1));
     }
 
diff --git a/reco/detectors/much/qa/CbmMuchHitFinderQa.cxx b/reco/detectors/much/qa/CbmMuchHitFinderQa.cxx
index f8d104a0d1949e458d904c5f4e50e2c614dc2606..7880bded8b5539aefbc3c39e68ce421afc4f9948 100644
--- a/reco/detectors/much/qa/CbmMuchHitFinderQa.cxx
+++ b/reco/detectors/much/qa/CbmMuchHitFinderQa.cxx
@@ -28,12 +28,7 @@
 #include "CbmMuchPoint.h"
 #include "CbmQaCanvas.h"
 #include "CbmTimeSlice.h"
-
 #include "FairRootManager.h"
-#include <FairSink.h>
-#include <FairTask.h>
-#include <Logger.h>
-
 #include "TArrayI.h"
 #include "TF1.h"
 #include "TFile.h"
@@ -41,6 +36,11 @@
 #include "TParameter.h"
 #include "TPaveStats.h"
 #include "TStyle.h"
+
+#include <FairSink.h>
+#include <FairTask.h>
+#include <Logger.h>
+
 #include <TClonesArray.h>
 #include <TGenericClassInfo.h>
 #include <TH1.h>
@@ -312,7 +312,9 @@ void CbmMuchHitFinderQa::Exec(Option_t*)
 void CbmMuchHitFinderQa::FinishTask()
 {
 
-  if (fVerbose > 0) { printf(" CbmMuchHitFinderQa FinishTask\n"); }
+  if (fVerbose > 0) {
+    printf(" CbmMuchHitFinderQa FinishTask\n");
+  }
 
   gStyle->SetPaperSize(20, 20);
 
@@ -333,11 +335,13 @@ void CbmMuchHitFinderQa::FinishTask()
   for (UInt_t i = 0; i < vResHistos.size(); i++) {
     TH1D* histo = vResHistos[i];
     histo->Sumw2();
-    histo->Fit("gaus", "Q");
-    auto f = histo->GetFunction("gaus");
-    if (f) {
-      f->SetLineWidth(3);
-      f->SetLineColor(kRed);
+    if (histo->GetRMS() > 0.) {
+      histo->Fit("gaus", "Q");
+      auto f = histo->GetFunction("gaus");
+      if (f) {
+        f->SetLineWidth(3);
+        f->SetLineColor(kRed);
+      }
     }
     // histo->SetStats(kTRUE);
   }
@@ -598,7 +602,9 @@ void CbmMuchHitFinderQa::PullsQa()
       continue;
     }
 
-    if (verbose) { printf(" file %i event %i pointId %i", link.GetFile(), link.GetEntry(), link.GetIndex()); }
+    if (verbose) {
+      printf(" file %i event %i pointId %i", link.GetFile(), link.GetEntry(), link.GetIndex());
+    }
     CbmMuchPoint* point = (CbmMuchPoint*) fPoints->Get(link);
 
     Double_t xMC = 0.5 * (point->GetXIn() + point->GetXOut());
@@ -650,7 +656,9 @@ void CbmMuchHitFinderQa::ClusterDeconvQa()
       for (Int_t iPoint = 0; iPoint < nMuchPoints; iPoint++) {
         link.SetIndex(iPoint);
         link.SetWeight(0.);
-        if (IsSignalPoint(link)) { fSignalPoints.SetVal(fSignalPoints.GetVal() + 1); }
+        if (IsSignalPoint(link)) {
+          fSignalPoints.SetVal(fSignalPoints.GetVal() + 1);
+        }
         vPoints.push_back(link);
       }
     }
@@ -678,7 +686,9 @@ void CbmMuchHitFinderQa::ClusterDeconvQa()
         assert(it != vPoints.end());
         if (it->GetWeight() > 0.) continue;
         it->SetWeight(1.);
-        if (IsSignalPoint(pointLink)) { fSignalHits.SetVal(fSignalHits.GetVal() + 1); }
+        if (IsSignalPoint(pointLink)) {
+          fSignalHits.SetVal(fSignalHits.GetVal() + 1);
+        }
       }
     }
   }