diff --git a/algo/detectors/tof/Clusterizer.cxx b/algo/detectors/tof/Clusterizer.cxx
index 735ca8349d84c370c85ab8f35fcb6ab7c3e4a87c..6f504cc168aa498f2e79b39203f7a8b4a5882ec0 100644
--- a/algo/detectors/tof/Clusterizer.cxx
+++ b/algo/detectors/tof/Clusterizer.cxx
@@ -291,6 +291,8 @@ namespace cbm::algo::tof
         if (lastChanPos) { (*lastChanPos)[chan]++; }
         continue;
       }
+      if (xDigiA->GetTime() > cluster.weightedTime / cluster.weightsSum + fParams.fdMaxTimeDist) { break; }
+
       auto i2 = i1;
 
       while (++i2 < storDigi.end()) {
@@ -440,7 +442,7 @@ namespace cbm::algo::tof
             cluster.reset();
           }
         }
-        cluster.add(pos, time, totSum, totSum, storDigi[0].second, storDigi[1].second);
+        cluster.add(pos, time, totSum, totSum, digiIt->second, std::next(digiIt, 1)->second);
         digiIt += 2;
 
         lastChan = chan;