diff --git a/algo/unpack/Unpack.cxx b/algo/unpack/Unpack.cxx
index 5ec97f975f96fbccac8757ff63ad195e816a036e..9d9780bfd5d4c82d3b152f6447bf6c7869e83677 100644
--- a/algo/unpack/Unpack.cxx
+++ b/algo/unpack/Unpack.cxx
@@ -102,7 +102,11 @@ namespace cbm::algo
     }
     UnpackAlgo& algo = algoIt->second;
 
-    assert(timeslice->descriptor(comp, 0).sys_ver == sys_ver);
+    if (timeslice->descriptor(comp, 0).sys_ver != sys_ver) {
+      monitor.fNumErrInvalidSysVer++;
+      return;
+    }
+
     const uint64_t numMsInComp = timeslice->num_microslices(comp);
 
     for (uint64_t mslice = 0; mslice < numMsInComp; mslice++) {
diff --git a/algo/unpack/Unpack.h b/algo/unpack/Unpack.h
index afd0aeb169d9e2ae74b483b54f9272674878ff7e..acaf9d7f01686d7719c743748927f84be2909aa3 100644
--- a/algo/unpack/Unpack.h
+++ b/algo/unpack/Unpack.h
@@ -49,11 +49,13 @@ namespace cbm::algo
     size_t fNumDigis    = 0;
     size_t fNumCompUsed = 0;
     size_t fNumErrInvalidEqId = 0;
-    std::string print()
+    size_t fNumErrInvalidSysVer = 0;
+    std::string print() const
     {
       std::stringstream ss;
       ss << "TS stats: num MS " << fNumMs << ", bytes " << fNumBytes << ", digis " << fNumDigis << ", components "
-         << fNumCompUsed << std::endl;
+         << fNumCompUsed << ", invalidEqIds " << fNumErrInvalidEqId << ", invalidSysVersions " << fNumErrInvalidSysVer
+         << std::endl;
       return ss.str();
     }
   };