diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx
index 0973a3c480ff57888936ed8949403ea7e9cdb03a..81a28a95742eb6e77a2dc86519863708196732e4 100644
--- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx
+++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx
@@ -10,6 +10,7 @@
 /// CBM headers
 #include "CbmEvent.h"
 #include "CbmMuchBeamTimeDigi.h"
+#include "CbmMuchDigi.h"
 #include "CbmPsdDigi.h"
 #include "CbmRichDigi.h"
 #include "CbmStsDigi.h"
@@ -49,7 +50,9 @@ Bool_t CbmMcbm2019TimeWinEventBuilderAlgo::InitAlgo() {
 
   // Get a pointer to the previous already existing data level
   fDigiMan = CbmDigiManager::Instance();
-  fDigiMan->UseMuchBeamTimeDigi();
+  if (fbUseMuchBeamtimeDigi) {
+    fDigiMan->UseMuchBeamTimeDigi();
+  } // if (fbUseMuchBeamtimeDigi)
   fDigiMan->Init();
 
   /// Check if reference detector data are available
@@ -177,7 +180,12 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::BuildEvents() {
       break;
     }  // case ECbmModuleId::kSts:
     case ECbmModuleId::kMuch: {
-      LoopOnSeeds<CbmMuchBeamTimeDigi>();
+      if (fbUseMuchBeamtimeDigi) {
+        LoopOnSeeds<CbmMuchBeamTimeDigi>();
+      } // if (fbUseMuchBeamtimeDigi)
+        else {
+          LoopOnSeeds<CbmMuchDigi>();
+        } // else of if (fbUseMuchBeamtimeDigi)
       break;
     }  // case ECbmModuleId::kMuch:
     case ECbmModuleId::kTrd: {
@@ -234,7 +242,7 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds() {
       || (dOverlapSize < fdWidestTimeWinRange)) {
     LOG(warning) << "CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds => "
                  << Form("Event window not fitting in TS overlap, risk of "
-                         "incomplete events: %f %f %f %llu",
+                         "incomplete events: %f %f %f %f",
                          fdEarliestTimeWinBeg,
                          fdLatestTimeWinEnd,
                          fdWidestTimeWinRange,
@@ -350,7 +358,13 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::CheckSeed(Double_t dSeedTime,
         break;
       }  // case ECbmModuleId::kSts:
       case ECbmModuleId::kMuch: {
-        SearchMatches<CbmMuchBeamTimeDigi>(dSeedTime, fRefDet);
+        if (fbUseMuchBeamtimeDigi) {
+          SearchMatches<CbmMuchBeamTimeDigi>(dSeedTime, fRefDet);
+        } // if (fbUseMuchBeamtimeDigi)
+          else
+          {
+            SearchMatches<CbmMuchDigi>(dSeedTime, fRefDet);
+          } // else of if (fbUseMuchBeamtimeDigi)
         break;
       }  // case ECbmModuleId::kMuch:
       case ECbmModuleId::kTrd: {
@@ -399,7 +413,12 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::CheckSeed(Double_t dSeedTime,
         break;
       }  // case ECbmModuleId::kSts:
       case ECbmModuleId::kMuch: {
-        SearchMatches<CbmMuchBeamTimeDigi>(dSeedTime, *det);
+        if (fbUseMuchBeamtimeDigi) {
+          SearchMatches<CbmMuchBeamTimeDigi>(dSeedTime, *det);
+        } // if (fbUseMuchBeamtimeDigi)
+          else {
+            SearchMatches<CbmMuchDigi>(dSeedTime, *det);
+          } // else of if (fbUseMuchBeamtimeDigi)
         break;
       }  // case ECbmModuleId::kMuch:
       case ECbmModuleId::kTrd: {
diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h
index 2173184714abd3a75899a7c0f980e5e37fb37c1e..b6ed8a64568ee722b8fb0bbef9268da8ee30112f 100644
--- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h
+++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h
@@ -158,7 +158,7 @@ public:
                        Double_t dTsOverLength) {
     fdTsStartTime  = dTsStartTime;
     fdTsLength     = dTsLength;
-    fdTsOverLength = fdTsOverLength;
+    fdTsOverLength = dTsOverLength;
   }
 
   /// Control flags
@@ -167,6 +167,10 @@ public:
     fbIgnoreTsOverlap = bFlagIn;
   }
 
+  void ChangeMuchBeamtimeDigiFlag(Bool_t bFlagIn = kFALSE) {
+    fbUseMuchBeamtimeDigi = bFlagIn;
+  }
+
   /// For monitor algos
   void AddHistoToVector(TNamed* pointer, std::string sFolder = "") {
     fvpAllHistoPointers.push_back(
@@ -213,9 +217,10 @@ private:
   static constexpr Double_t kdDefaultTimeWinEnd = 100.0;
 
   /// User parameters
-  /// Control flags
+    /// Control flags
   Bool_t fbIgnoreTsOverlap = kFALSE;  //! Ignore data in Overlap part of the TS
   Bool_t fbFillHistos {kTRUE};        //! Switch ON/OFF filling of histograms
+  Bool_t fbUseMuchBeamtimeDigi = kTRUE; //! Switch between the MUCH digi classes
     /// Event building mode and detectors selection
   EOverlapMode fOverMode {EOverlapMode::AllowOverlap};
 
diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx
index 56792605a7303f52c0bbeac5ac659183dd21714a..34291a8cb20634010c462b8b49c20c35960abe18 100644
--- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx
+++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx
@@ -185,6 +185,9 @@ void CbmMcbm2019TimeWinEventBuilderTask::SetEventOverlapMode(
 void CbmMcbm2019TimeWinEventBuilderTask::SetIgnoreTsOverlap(Bool_t bFlagIn) {
   if (nullptr != fpAlgo) fpAlgo->SetIgnoreTsOverlap(bFlagIn);
 }
+void CbmMcbm2019TimeWinEventBuilderTask::ChangeMuchBeamtimeDigiFlag(Bool_t bFlagIn) {
+  if (nullptr != fpAlgo) fpAlgo->ChangeMuchBeamtimeDigiFlag(bFlagIn);
+}
 
 //----------------------------------------------------------------------
 
diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.h b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.h
index 2c3b87dd97d41d6555e6c0b085402f6ef20deb59..b670b8e5f7bd457b0f5603283b226cb89e3f07d9 100644
--- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.h
+++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.h
@@ -79,6 +79,8 @@ public:
   void SetEventOverlapMode(EOverlapMode mode);
   void SetIgnoreTsOverlap(Bool_t bFlagIn);
 
+  void ChangeMuchBeamtimeDigiFlag(Bool_t bFlagIn = kFALSE);
+
 private:
   void FillOutput();
   void SaveHistos();