diff --git a/sim/detectors/trd/CbmTrdModuleSim2D.cxx b/sim/detectors/trd/CbmTrdModuleSim2D.cxx
index fb4fb0e95bc042a1ebf60da42d974c0f4a1fece1..3c5ed0ad0214abf69a065ff6585a72fe741d0e6b 100644
--- a/sim/detectors/trd/CbmTrdModuleSim2D.cxx
+++ b/sim/detectors/trd/CbmTrdModuleSim2D.cxx
@@ -707,8 +707,14 @@ Int_t CbmTrdModuleSim2D::FlushBuffer(ULong64_t time)
       digi = iv->first;
       if (!digi->IsMasked()) {  // no more digi processed
         if (digi->GetTime() < newStartTime) newStartTime = digi->GetTime();
+        if ((digi->GetTime() - timeMax) > 400) {
+          delete digi;
+          iv = fBuffer[padAddress].erase(iv);  // remove from saved buffer
+          continue;
+        }
         break;
       }
+
       if (digi->IsFlagged(0)) {  // phys digi didn't produce CS/FT update last digiMatch
         delete digi;
         if (digiMatch) {