diff --git a/MQ/mcbm/CMakeLists.txt b/MQ/mcbm/CMakeLists.txt
index 70840b7b9560ed1ba0a2422682a04605398c3a60..e85b810635f16c335fba82ae85724741ee427388 100644
--- a/MQ/mcbm/CMakeLists.txt
+++ b/MQ/mcbm/CMakeLists.txt
@@ -70,7 +70,7 @@ set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
 
 generate_cbm_executable()
 
-# diabled until T0 is implemented in unpackers
+# disabled until T0 is implemented in unpackers
 #
 #set(EXE_NAME BuildRawEvents)
 #set(SRCS CbmDeviceBuildRawEvents.cxx runBuildRawEvents.cxx)
@@ -110,7 +110,7 @@ set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
 
 generate_cbm_executable()
 
-# diabled until T0 is implemented in unpackers
+# disabled until T0 is implemented in unpackers
 #
 #set(EXE_NAME BuildDigiEvents)
 #set(SRCS CbmDeviceBuildDigiEvents.cxx runBuildDigiEvents.cxx)
diff --git a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx
index 5d3145d184831f2dafb00b096a10a6c63778fc85..09c56abeab8dcb4d2c0d350fae622134abd9949e 100644
--- a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx
+++ b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx
@@ -131,6 +131,7 @@ void CbmAlgoBuildRawEvents::ProcessTs()
     /// TODO: store start time of current event ?
     //        fCurrentEvent->SetStartTime( fPrevTime ); // Replace Seed time with time of first digi in event?
     fCurrentEvent->SetEndTime(fdPrevEvtEndTime);
+    SetBmonEventTime(fCurrentEvent);
     fEventVector.push_back(fCurrentEvent);
     fuCurEv++;
 
@@ -347,10 +348,12 @@ void CbmAlgoBuildRawEvents::CheckSeed(Double_t dSeedTime, UInt_t uSeedDigiIdx)
       /// TODO: store start time of current event ?
       //        fCurrentEvent->SetStartTime( fPrevTime ); // Replace Seed time with time of first digi in event?
       fCurrentEvent->SetEndTime(fdPrevEvtEndTime);
+      SetBmonEventTime(fCurrentEvent);
       fEventVector.push_back(fCurrentEvent);
+
       fuCurEv++;
     }
-    fCurrentEvent = new CbmEvent(fuCurEv, dSeedTime, 0.);
+    fCurrentEvent = new CbmEvent(fuCurEv, -1, 0.);
   }  // else of if( prev Event exists and mode forbiden overlap present )
 
   if (fRefDet.detId != ECbmModuleId::kNotExist) {
@@ -608,6 +611,23 @@ Bool_t CbmAlgoBuildRawEvents::HasTrigger(CbmEvent* event)
   return kTRUE;
 }
 
+void CbmAlgoBuildRawEvents::SetBmonEventTime(CbmEvent* event)
+{
+  int32_t iNbDigis = event->GetNofData(ECbmDataType::kT0Digi);
+
+  if (0 < iNbDigis) {
+    double eventTime = 0;
+    for (int idigi = 0; idigi < iNbDigis; ++idigi) {
+      uint idx                 = event->GetIndex(ECbmDataType::kT0Digi, idigi);
+      const CbmBmonDigi* pDigi = GetDigi<CbmBmonDigi>(idx);
+      if (nullptr == pDigi) continue;
+      eventTime += pDigi->GetTime();
+    }
+    eventTime /= iNbDigis;
+    event->SetStartTime(eventTime);
+  }
+}
+
 Bool_t CbmAlgoBuildRawEvents::CheckTriggerConditions(CbmEvent* event, const RawEventBuilderDetector& det)
 {
   /// Check if both Trigger conditions disabled for this detector
diff --git a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h
index e50d1dc6c2670ec3b7c711c9e0506b66fe9be24a..41570b4d7290569de5804a8648a23d6bc8f15422 100644
--- a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h
+++ b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h
@@ -250,6 +250,8 @@ private:
   void UpdateTimeWinBoundariesExtrema();
   void UpdateWidestTimeWinRange();
 
+  void SetBmonEventTime(CbmEvent* event);
+
   TFolder* outFolder;  // oputput folder to store histograms
 
   /// Constants
diff --git a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx
index b93da4712830685518d3a9dc583011d00f5ca960..065039eacc364202a5c4d76f0c1f67f40cbea69b 100644
--- a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx
+++ b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx
@@ -4,6 +4,7 @@
 
 #include "CbmSeedFinderSlidingWindow.h"
 
+#include "CbmBmonDigi.h"
 #include "CbmMCEventList.h"
 #include "CbmMatch.h"
 #include "CbmMuchBeamTimeDigi.h"
@@ -126,6 +127,7 @@ void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<inType>* vIn, c
   //            << std::endl;
   //}
 }
+template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmBmonDigi>*, const std::vector<CbmMatch>*);
 template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmMuchBeamTimeDigi>*,
                                                         const std::vector<CbmMatch>*);
 template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmMuchDigi>*, const std::vector<CbmMatch>*);