diff --git a/reco/L1/L1Algo/L1Algo.cxx b/reco/L1/L1Algo/L1Algo.cxx
index 067ab935ad0823f56d81fa7157fbb6c9e3b280a1..ab40e8f3e40e1bc42dc743a8da68bc545a5ec2cd 100644
--- a/reco/L1/L1Algo/L1Algo.cxx
+++ b/reco/L1/L1Algo/L1Algo.cxx
@@ -135,11 +135,8 @@ void L1Algo::SetData(L1Vector<L1Hit>& Hits_, int nStrips_, L1Vector<unsigned cha
   }
 #endif
 
-  fStripToTrackF.clear();
-  fStripToTrackF.reserve(fNstrips);
-
-  fStripToTrackB.clear();
-  fStripToTrackB.reserve(fNstrips);
+  fStripToTrack.clear();
+  fStripToTrack.reserve(fNstrips);
 
   fHitFirstTriplet.reset(nHits);
   fHitNtriplets.reset(nHits);
diff --git a/reco/L1/L1Algo/L1Algo.h b/reco/L1/L1Algo/L1Algo.h
index 433458ff01b5df3d61ad41b5a792c94b4f493924..60c760139cca2eb6554522558d419d77a58aaedf 100644
--- a/reco/L1/L1Algo/L1Algo.h
+++ b/reco/L1/L1Algo/L1Algo.h
@@ -295,8 +295,7 @@ public:
   L1Vector<omp_lock_t> fStripToTrackLock {"L1Algo::fStripToTrackLock"};
 #endif
 
-  L1Vector<int> fStripToTrackF {"L1Algo::fStripToTrack"};  // strip to track pointers
-  L1Vector<int> fStripToTrackB {"L1Algo::fStripToTrack"};  // strip to track pointers
+  L1Vector<int> fStripToTrack {"L1Algo::fStripToTrack"};  // strip to track pointers
 
   int fNThreads {0};
   bool fUseHitErrors {true};
diff --git a/reco/L1/L1Algo/L1CATrackFinder.cxx b/reco/L1/L1Algo/L1CATrackFinder.cxx
index 3ba76b49f82f9f6254a0d0f1b5b679136fbc93fa..db648d2fac120806c1cf81bccb51512f9917ad00 100644
--- a/reco/L1/L1Algo/L1CATrackFinder.cxx
+++ b/reco/L1/L1Algo/L1CATrackFinder.cxx
@@ -2069,8 +2069,7 @@ void L1Algo::CATrackFinder()
         fTrackCandidates[i].clear();
       }
 
-      fStripToTrackF.reset(fNstrips, -1);
-      fStripToTrackB.reset(fNstrips, -1);
+      fStripToTrack.reset(fNstrips, -1);
 
       //== Loop over triplets with the required level, find and store track candidates
 
@@ -2207,7 +2206,7 @@ void L1Algo::CATrackFinder()
 #ifdef _OPENMP
                 omp_set_lock(&fStripToTrackLock[h.f]);
 #endif
-                int& stripF = (fStripToTrackF)[h.f];
+                int& stripF = (fStripToTrack)[h.f];
                 if ((stripF >= 0) && (stripF != tr.fID)) {  // strip is used by other candidate
                   const auto& other = fTrackCandidates[TrackId2Thread(stripF)][TrackId2Track(stripF)];
                   if (!other.fIsAlive && L1Branch::compareCand(tr, other)) { stripF = tr.fID; }
@@ -2228,7 +2227,7 @@ void L1Algo::CATrackFinder()
 #ifdef _OPENMP
                 omp_set_lock(&fStripToTrackLock[h.b]);
 #endif
-                int& stripB = (fStripToTrackB)[h.b];
+                int& stripB = (fStripToTrack)[h.b];
                 if ((stripB >= 0) && (stripB != tr.fID)) {  // strip is used by other candidate
                   const auto& other = fTrackCandidates[TrackId2Thread(stripB)][TrackId2Track(stripB)];
                   if (!other.fIsAlive && L1Branch::compareCand(tr, other)) { stripB = tr.fID; }
@@ -2258,14 +2257,14 @@ void L1Algo::CATrackFinder()
             tr.fIsAlive = true;
             for (int iHit = 0; tr.fIsAlive && (iHit < (int) tr.fHits.size()); ++iHit) {
               const L1Hit& h = (*vHits)[tr.fHits[iHit]];
-              tr.fIsAlive    = tr.fIsAlive && ((fStripToTrackF)[h.f] == tr.fID) && ((fStripToTrackB)[h.b] == tr.fID);
+              tr.fIsAlive    = tr.fIsAlive && ((fStripToTrack)[h.f] == tr.fID) && ((fStripToTrack)[h.b] == tr.fID);
             }
 
             if (!tr.fIsAlive) {  // release strips
               for (int iHit = 0; (iHit < (int) tr.fHits.size()); ++iHit) {
                 const L1Hit& h = (*vHits)[tr.fHits[iHit]];
-                if (fStripToTrackF[h.f] == tr.fID) { fStripToTrackF[h.f] = -1; }
-                if (fStripToTrackB[h.b] == tr.fID) { fStripToTrackB[h.b] = -1; }
+                if (fStripToTrack[h.f] == tr.fID) { fStripToTrack[h.f] = -1; }
+                if (fStripToTrack[h.b] == tr.fID) { fStripToTrack[h.b] = -1; }
               }
             }
             else {
@@ -2299,7 +2298,7 @@ void L1Algo::CATrackFinder()
             for (L1Vector<L1HitIndex_t>::iterator phIt = tr.fHits.begin();  /// used strips are marked
                  phIt != tr.fHits.end(); ++phIt) {
               const L1Hit& h = (((*vHits))[*phIt]);
-              if (((fStripToTrackB)[h.b] != tr.fID) || ((fStripToTrackF)[h.f] != tr.fID)) {
+              if (((fStripToTrack)[h.b] != tr.fID) || ((fStripToTrack)[h.f] != tr.fID)) {
                 check = 0;
                 break;
               }