diff --git a/reco/L1/L1Algo/L1Algo.h b/reco/L1/L1Algo/L1Algo.h
index 703c5fb2d722a9c1fb619863bc795343902ef526..632316516404784518dadb2f5f3676cdd150a4e6 100644
--- a/reco/L1/L1Algo/L1Algo.h
+++ b/reco/L1/L1Algo/L1Algo.h
@@ -15,7 +15,7 @@ class L1AlgoDraw;
 //#define XXX               // time debug
 //#define COUNTERS          // diff counters (hits, doublets, ... )
 
-//#define MERGE_CLONES
+#define MERGE_CLONES
 // #define TRACKS_FROM_TRIPLETS_ITERATION kAllPrimIter
 
 //#define HitErrors
diff --git a/reco/L1/L1Algo/L1CATrackFinder.cxx b/reco/L1/L1Algo/L1CATrackFinder.cxx
index cfc2abd6bc8b3b7a6d7f13655fa228c7e9a61aa9..85df5b9538595469f61c7c9ed2f08ec1bb560b2d 100644
--- a/reco/L1/L1Algo/L1CATrackFinder.cxx
+++ b/reco/L1/L1Algo/L1CATrackFinder.cxx
@@ -532,12 +532,6 @@ inline void L1Algo::f20(  // input
 #endif  // DOUB_PERFORMANCE
       hitsm_2.push_back(imh);
 
-      TripForHit[0][hitsl_1[i1] + StsHitsUnusedStartIndex[&stam - vStations - 1]] = 0;
-      TripForHit[1][hitsl_1[i1] + StsHitsUnusedStartIndex[&stam - vStations - 1]] = 0;
-
-      TripForHit[0][hitsl_1[i1] + StsHitsUnusedStartIndex[&stam - vStations - 2]] = 0;
-      TripForHit[1][hitsl_1[i1] + StsHitsUnusedStartIndex[&stam - vStations - 2]] = 0;
-
       if (n2 > 8000) return;
 
       n2++;
@@ -1776,8 +1770,11 @@ void L1Algo::CATrackFinder()
 
     n_g1.assign(n_g1.size(), Portion);
 
+    TripForHit[0].assign(nDontUsedHits, 0);
+    TripForHit[1].assign(nDontUsedHits, 0);
+
     for (int n = 0; n < nTh; n++)
-      for (int j = 0; j < 12; j++)
+      for (int j = 0; j < NStations; j++)
         nTripletsThread[j][n] = 0;
 
         /// isec - number of current iterations, fNFindIterations - number of all iterations