diff --git a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx
index 67dca4b8b31d68afb7e89c609702c78008de1c38..bdf45e8fef6e22f7ffc5e00ce45a1bf34108c49c 100644
--- a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx
+++ b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx
@@ -182,6 +182,8 @@ void CbmMcbmCheckTimingAlgo::ProcessTs()
   LOG(info) << "executing TS " << fuNbTs << " index ["
             << (fCbmTsEventHeader != nullptr ? fCbmTsEventHeader->GetTsIndex() : -1) << "]";
 
+  fuNbTrdCondWarn = 0;
+
   switch (fRefDet.detId) {
     case ECbmModuleId::kSts: {
       CheckInterSystemOffset<CbmStsDigi>();
@@ -467,7 +469,11 @@ bool CbmMcbmCheckTimingAlgo::CheckCondition(CheckTimingDetector* det, UInt_t uCo
     if (digi->GetAddressModule() != moduleId) return false;
   }
   catch (const std::invalid_argument& ia) {
-    LOG(warning) << "Trd condition " << det->vName[uCond] << " not implemented. Skipped";
+    if (fuNbTrdCondWarn < 10) {
+      LOG(warning) << "Trd condition for index " << uCond << " name " << det->vName[uCond]
+                   << " not implemented. Skipped";
+      ++fuNbTrdCondWarn;
+    }
     return false;
   }
   return true;
diff --git a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.h b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.h
index 7acc01170d3db87742e0539ee17626d33734cc2d..b4f4bc6f4cb2e0fedb2da717c632122d0d6283f2 100644
--- a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.h
+++ b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.h
@@ -129,6 +129,7 @@ private:
 
   //
   UInt_t fuNbTs = 0;
+  UInt_t fuNbTrdCondWarn = 0;
 
   CheckTimingDetector fRefDet {CheckTimingDetector(ECbmModuleId::kT0, "T0")};
   std::vector<CheckTimingDetector> fvDets {