diff --git a/algo/detectors/trd2d/UnpackMS.cxx b/algo/detectors/trd2d/UnpackMS.cxx
index 9c0be4cbacd3433fc0b7128d72b76bf062271334..9184338d6ace3c0dbe2644a80edb0c29e24cccb6 100644
--- a/algo/detectors/trd2d/UnpackMS.cxx
+++ b/algo/detectors/trd2d/UnpackMS.cxx
@@ -428,7 +428,7 @@ namespace cbm::algo::trd2d
     for (uint16_t ipad(0); ipad < NFASPMOD * NFASPPAD; ipad++) {
       if (!ctx.fRobDigi[ipad].size()) continue;
       for (auto id : ctx.fRobDigi[ipad]) {
-        L_(debug) << id.ToString();
+        // L_(debug) << id.ToString();
         outputDigis.emplace_back(std::move(id));
       }
     }
@@ -442,7 +442,13 @@ namespace cbm::algo::trd2d
   {
     constexpr uint8_t m24 =
       uint8_t(eMessageVersion::kMess24);  // message versions compatible with the current algo specialization
-    const uint8_t fasp_mod_id    = fParams.mapFaspId2Mod<m24>(messes[0].fasp);
+    const uint8_t fasp_mod_id = fParams.mapFaspId2Mod<m24>(messes[0].fasp);
+    L_(debug) << "pushDigis<v24> fasp=" << (int) messes[0].fasp << "/" << (int) fasp_mod_id;
+    if (fParams.fAsicParams.find(fasp_mod_id) == fParams.fAsicParams.end()) {
+      L_(error) << "pushDigis<v24> fasp=" << (int) messes[0].fasp << "/" << (int) fasp_mod_id
+                << " not mapped to param.olink[" << (int) fParams.fEqId << "]=0x" << std::hex << (int) fParams.fEqAdd;
+      return false;
+    }
     const UnpackAsicPar& asicPar = fParams.fAsicParams.at(fasp_mod_id);
 
     for (auto imess : messes) {