diff --git a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx
index dfbe910280f1eb50b071252370d7c4908f4c7bd3..c9e1dee2c72062f4738ac8e13c36c0fff4566760 100644
--- a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx
+++ b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx
@@ -194,7 +194,7 @@ void CbmAlgoBuildRawEvents::BuildEvents()
                  << "Trying to search event seeds with unsupported det: " << fRefDet.sName;
       break;
     }
-  }  // switch( *det )
+  }
 }
 
 template<class DigiSeed>
@@ -211,7 +211,7 @@ void CbmAlgoBuildRawEvents::LoopOnSeeds()
     }
   }
   else {
-    const UInt_t uNbRefDigis = (0 < GetNofDigis(fRefDet.detId) ? GetNofDigis(fRefDet.detId) : 0);
+    const UInt_t uNbRefDigis = GetNofDigis(fRefDet.detId);
     /// Loop on size of vector
     for (UInt_t uDigi = 0; uDigi < uNbRefDigis; ++uDigi) {
       LOG(debug) << Form("Checking seed %6u / %6u", uDigi, uNbRefDigis);
@@ -367,7 +367,7 @@ void CbmAlgoBuildRawEvents::SearchMatches(Double_t dSeedTime, RawEventBuilderDet
     if (uLocalIndexEnd < uLocalIndexStart) uLocalIndexEnd = uNbSelDigis;
   }
   else {
-    const UInt_t uNbSelDigis = (0 < GetNofDigis(detMatch.detId) ? GetNofDigis(detMatch.detId) : 0);
+    const UInt_t uNbSelDigis = GetNofDigis(detMatch.detId);
     /// Loop on size of vector
     for (UInt_t uDigi = detMatch.fuStartIndex; uDigi < uNbSelDigis; ++uDigi) {
       const DigiCheck* pDigi   = GetDigi<DigiCheck>(uDigi);
@@ -445,22 +445,11 @@ Bool_t CbmAlgoBuildRawEvents::CheckTriggerConditions(CbmEvent* event, RawEventBu
   if (0 == det.fuTriggerMinDigis && det.fiTriggerMaxDigis < 0) { return kTRUE; }
 
   /// Check if detector present
-  if (ECbmModuleId::kT0 == det.detId) {
-    /// FIXME: special case to be removed once T0 supported by DigiManager
-    if (!(fT0DigiVec)) {
-      LOG(warning) << "Event does not have digis storage for T0"
-                   << " while the following trigger minimum are defined: " << det.fuTriggerMinDigis << " "
-                   << det.fiTriggerMaxDigis;
-      return kFALSE;
-    }
-  }
-  else {
-    if (!DetIsPresent(det.detId)) {
-      LOG(warning) << "Event does not have digis storage for " << det.sName
-                   << " while the following trigger min/max are defined: " << det.fuTriggerMinDigis << " "
-                   << det.fiTriggerMaxDigis;
-      return kFALSE;
-    }
+  if (!DetIsPresent(det.detId)) {
+    LOG(warning) << "Event does not have digis storage for " << det.sName
+                 << " while the following trigger min/max are defined: " << det.fuTriggerMinDigis << " "
+                 << det.fiTriggerMaxDigis;
+    return kFALSE;
   }
 
   /// Check trigger rejection by minimal number or absence
diff --git a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx
index ed71ed01e9dbd4d0cd332050e00d2b1ff3e66303..67e642bb4b255d27a86857c125040fd3f6ba622b 100644
--- a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx
+++ b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx
@@ -118,6 +118,9 @@ InitStatus CbmTaskBuildRawEvents::ReInit() { return kSUCCESS; }
 void CbmTaskBuildRawEvents::Exec(Option_t* /*option*/)
 {
   LOG(debug2) << "CbmTaskBuildRawEvents::Exec => Starting sequence";
+  //Warning: Int_t must be used for the loop counters instead of UInt_t,
+  //as the digi manager can return -1, which would be casted to +1
+  //during comparison, leading to an error.
 
   //Read STS digis
   if (fDigiMan->IsPresent(ECbmModuleId::kSts)) {