diff --git a/algo/global/Reco.cxx b/algo/global/Reco.cxx
index 56884d0d06eaf5a0a8dc43e52dffb317ee47abdd..fdb86d5df2009bb1a1538ab7629c44497a71633d 100644
--- a/algo/global/Reco.cxx
+++ b/algo/global/Reco.cxx
@@ -14,6 +14,7 @@
 #include "bmon/Unpack.h"
 #include "bmon/config/ReadoutPars.h"
 #include "ca/TrackingChain.h"
+#include "ca/core/data/CaTrack.h"
 #include "compat/OpenMP.h"
 #include "evbuild/Config.h"
 #include "log.hpp"
@@ -315,6 +316,10 @@ RecoResults Reco::Run(const fles::Timeslice& ts)
       };
       trackingOutput  = fTracking->Run(input);
       recoData.tracks = std::move(trackingOutput.tracks);
+      std::sort(recoData.tracks.begin(), recoData.tracks.end(),
+                [](const cbm::algo::ca::Track& track1, const cbm::algo::ca::Track& track2) {
+                  return track1.fParFirst.Time() < track2.fParFirst.Time();
+                });
       QueueTrackingMetrics(trackingOutput.monitorData);
     }