diff --git a/reco/detectors/tof/CbmTofEventClusterizer.cxx b/reco/detectors/tof/CbmTofEventClusterizer.cxx
index 9584b36bed80641a02737dc103c0406a5cc02c01..3bc253e07036639909b1a0c006de81eca6d2b93b 100644
--- a/reco/detectors/tof/CbmTofEventClusterizer.cxx
+++ b/reco/detectors/tof/CbmTofEventClusterizer.cxx
@@ -3606,6 +3606,7 @@ Bool_t CbmTofEventClusterizer::WriteHistos() {
     Int_t iSmType   = CbmTofAddress::GetSmType(iUniqueId);
     Int_t iSm       = CbmTofAddress::GetSmId(iUniqueId);
     Int_t iRpc      = CbmTofAddress::GetRpcId(iUniqueId);
+    fCalSmAddr &= SelMask;
 
     Int_t iNent = 0;
     if (fCalSel > -1) {
@@ -4137,6 +4138,7 @@ Bool_t CbmTofEventClusterizer::WriteHistos() {
                 != iSmAddr)) {  // select detectors for updating offsets
           LOG(debug) << "WriteHistos: (case 2) update Offsets and keep Gains, "
                         "Walk and DELTOF for "
+        		     << Form(" 0x%08x ", TMath::Abs(fCalSmAddr))
                      << "Smtype" << iSmType << ", Sm " << iSm << ", Rpc "
                      << iRpc;
           Int_t iB        = iSm * iNbRpc + iRpc;
@@ -4366,15 +4368,16 @@ Bool_t CbmTofEventClusterizer::WriteHistos() {
                 != iSmAddr)) {  // select detectors for updating offsets
           LOG(info) << "WriteHistos (calMode==3): update Offsets and Gains, "
                        "keep Walk and DelTof for "
+     		        << Form("Addr 0x%08x ", TMath::Abs(fCalSmAddr))
                     << "Smtype" << iSmType << ", Sm " << iSm << ", Rpc " << iRpc
                     << " with " << iNbCh << " channels "
                     << " using selector " << fCalSel;
           /*
-         Double_t dTRefMean=0.;
-         if (5 == iSmType && fTRefMode%10 == iSm){   // reference counter
-           dTRefMean=htempTOff->GetMean(2);
-         }
-         */
+           Double_t dTRefMean=0.;
+           if (5 == iSmType && fTRefMode%10 == iSm){   // reference counter
+             dTRefMean=htempTOff->GetMean(2);
+           }
+          */
           Double_t dVscal = 1.;
           Double_t dVW    = 1.;
           if (0)  // NULL != fhSmCluSvel[iSmType])
@@ -7329,13 +7332,13 @@ Bool_t CbmTofEventClusterizer::CalibRawDigis() {
                 << Form("%2d", (Int_t) pDigi->GetChannel()) << " "
                 << pDigi->GetSide() << " " << Form("%f", pDigi->GetTime())
                 << " " << pDigi->GetTot();
-
+/*
     if (pDigi->GetType() == 5
         || pDigi->GetType()
              == 8)  // for Pad counters generate fake digi to mockup a strip
       if (pDigi->GetSide() == 1)
         continue;  // skip one side to avoid double entries
-
+*/
     Bool_t bValid = kTRUE;
     std::map<Int_t, Double_t>::iterator it;
     it = mChannelDeadTime.find(iAddr);
@@ -7506,6 +7509,8 @@ Bool_t CbmTofEventClusterizer::CalibRawDigis() {
                 << pDigi->GetChannel() << " "
                 << fDigiBdfPar->GetNbChan(pDigi->GetType(), 0);
     }
+
+    if (bAddBeamCounterSideDigi)
     if (pCalDigi->GetType() == 5
         || pCalDigi->GetType()
              == 8) {  // for Pad counters generate fake digi to mockup a strip
@@ -7525,8 +7530,8 @@ Bool_t CbmTofEventClusterizer::CalibRawDigis() {
                               pCalDigi->GetChannel(),
                               0,
                               pCalDigi->GetType());
-      ;
     }
+
   }  // for( Int_t iDigInd = 0; iDigInd < nTofDigi; iDigInd++ )
 
   //  iNbTofDigi = fTofCalDigisColl->GetEntries();  // update because of added duplicted digis