diff --git a/reco/detectors/trd/CbmTrdClusterFinder.cxx b/reco/detectors/trd/CbmTrdClusterFinder.cxx
index 0a35767ccb79bafad056ca1f45448be335af2a0e..491bd4e479b7fd65ab95a87fd14fb183ddffd2a9 100644
--- a/reco/detectors/trd/CbmTrdClusterFinder.cxx
+++ b/reco/detectors/trd/CbmTrdClusterFinder.cxx
@@ -144,13 +144,13 @@ void CbmTrdClusterFinder::Exec(Option_t* /*option*/)
     if (mod == nullptr) {
       continue;
     }
-
     mod->AddDigi(digi, idigi);
   }
 
   /// TRD 2D
   std::map<int, std::vector<CbmTrdModuleRec2D::inputType>> inputData;
 
+  // Calibrate digi input
   for (size_t idigi(0); idigi < nDigis; idigi++) {
     const CbmTrdDigi* digi = CbmDigiManager::Instance()->Get<CbmTrdDigi>(idigi);
     const int modAddress   = digi->GetAddressModule();
@@ -163,17 +163,26 @@ void CbmTrdClusterFinder::Exec(Option_t* /*option*/)
     if (idigi == 500001) {
       break;
     }
-
-    CbmTrdModuleRec2D* mod = dynamic_cast<CbmTrdModuleRec2D*>(imod->second);
-    if (mod == nullptr) {
+    if (dynamic_cast<CbmTrdModuleRec2D*>(imod->second) == nullptr) {
       continue;
     }
     auto [chT, chR, tm, row] = CalibDigi(digi);
     inputData[modAddress].emplace_back(chT, chR, tm, row, idigi);
+  }
 
-    mod->AddDigi(digi, idigi);
+  // Add digis to modules
+  for (auto imod = fModules.begin(); imod != fModules.end(); imod++) {
+    CbmTrdModuleRec2D* mod = dynamic_cast<CbmTrdModuleRec2D*>(imod->second);
+    if (mod == nullptr) {
+      continue;
+    }
+    for (auto& input : inputData[imod->first]) {
+      mod->AddDigi(input);
+    }
   }
 
+////////////// TO DO: Test sortedness and effect of sorting
+
   for (auto imod = fModules.begin(); imod != fModules.end(); imod++) {
     CbmTrdModuleRec* mod = imod->second;
     fNrClusters += mod->FindClusters();
diff --git a/reco/detectors/trd/CbmTrdModuleRec2D.cxx b/reco/detectors/trd/CbmTrdModuleRec2D.cxx
index 31d537b2d12509e82a6353eaec43ae55415783d3..5337075049cf0746c265e1bf74045d0fb1cf7367 100644
--- a/reco/detectors/trd/CbmTrdModuleRec2D.cxx
+++ b/reco/detectors/trd/CbmTrdModuleRec2D.cxx
@@ -79,18 +79,19 @@ std::tuple<uint16_t, uint16_t, int, int> CbmTrdModuleRec2D::CalibDigi(const CbmT
   return std::make_tuple(chT, chR, tm, row);
 }
 
+
 //_______________________________________________________________________________
-Bool_t CbmTrdModuleRec2D::AddDigi(const CbmTrdDigi* d, size_t id)
-{
+//Bool_t CbmTrdModuleRec2D::AddDigi(const CbmTrdDigi* d, size_t id)
+//{
   /** Add digi to cluster fragments. At first clusters are ordered on pad rows and time. 
  * No channel ordering is assumed. The time condition for a digi to enter a cluster 
  * chunk is to have abs(dt)<5 wrt cluster t0 
  */
-  assert(d->GetType() == CbmTrdDigi::eCbmTrdAsicType::kFASP);
+//  assert(d->GetType() == CbmTrdDigi::eCbmTrdAsicType::kFASP);
 
-  auto [chT, chR, tm, row] = CalibDigi(d);
-  return AddDigi(std::make_tuple(chT, chR, tm, row, id));
-}
+//  auto [chT, chR, tm, row] = CalibDigi(d);
+//  return AddDigi(std::make_tuple(chT, chR, tm, row, id));
+//}
 
 //_______________________________________________________________________________
 Bool_t CbmTrdModuleRec2D::AddDigi(const inputType& in)
diff --git a/reco/detectors/trd/CbmTrdModuleRec2D.h b/reco/detectors/trd/CbmTrdModuleRec2D.h
index 0f0c4c439656a8e38d6d84ae22668da562ea02f7..d3fb3e70a9e7314784b7bb75d79cfbe9a76a2269 100644
--- a/reco/detectors/trd/CbmTrdModuleRec2D.h
+++ b/reco/detectors/trd/CbmTrdModuleRec2D.h
@@ -52,7 +52,7 @@ class CbmTrdModuleRec2D : public CbmTrdModuleRec {
 
 
   /** \brief Add digi to local module **/
-  virtual Bool_t AddDigi(const CbmTrdDigi* d, size_t id);
+  //virtual Bool_t AddDigi(const CbmTrdDigi* d, size_t id);
   virtual Bool_t AddDigi(const inputType& in);
 
   virtual void DrawHit(CbmTrdHit*) const { ; }