diff --git a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx
index e93fcd43b42503e9d17865c5524e2ab7d91d9ae2..29393964b7364467418454002241b911fd12b1da 100644
--- a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx
+++ b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx
@@ -613,17 +613,19 @@ Bool_t CbmAlgoBuildRawEvents::HasTrigger(CbmEvent* event)
 
 void CbmAlgoBuildRawEvents::SetTzdEventTime(CbmEvent* event)
 {
-  int32_t iNbDigis = event->GetNofData(ECbmDataType::kT0Digi);
+  const 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 CbmTzdDigi* pDigi = GetDigi<CbmTzdDigi>(idx);
+    uint idx                = event->GetIndex(ECbmDataType::kT0Digi, 0);
+    const CbmTzdDigi* pDigi = GetDigi<CbmTzdDigi>(idx);
+    double eventTime        = pDigi->GetTime();
+
+    for (int idigi = 1; idigi < iNbDigis; ++idigi) {
+      idx   = event->GetIndex(ECbmDataType::kT0Digi, idigi);
+      pDigi = GetDigi<CbmTzdDigi>(idx);
       if (nullptr == pDigi) continue;
-      eventTime += pDigi->GetTime();
+      eventTime = std::min(pDigi->GetTime(), eventTime);
     }
-    eventTime /= iNbDigis;
     event->SetStartTime(eventTime);
   }
 }