diff --git a/Pr/PrAlgorithms/src/PrForwardTracking.cpp b/Pr/PrAlgorithms/src/PrForwardTracking.cpp
index 434012d3c89a628ddff2dd39485cb6fe553d16ca..86825ea6c873b9519352cb685ba50b4fc989cb4b 100644
--- a/Pr/PrAlgorithms/src/PrForwardTracking.cpp
+++ b/Pr/PrAlgorithms/src/PrForwardTracking.cpp
@@ -1910,6 +1910,11 @@ LHCb::Pr::Forward::Tracks PrForwardTracking<T>::makeLHCbTracks( PrForwardTracks
     result.store_nHits<I>( currentsize, id.size() );
 
     result.size() += 1;
+    if ( UNLIKELY( result.size() == LHCb::Pr::Forward::Tracks::max_tracks ) ) { // FIXME: find a better way to define
+                                                                                // size of container
+      ++m_maxTracksErr;
+      break; // FIXME: do something smarter than this
+    }
 
     // -- > Debug --------
     if ( msgLevel( MSG::DEBUG ) ) info() << "Store track  quality " << cand.quality() << endmsg;
diff --git a/Pr/PrAlgorithms/src/PrForwardTracking.h b/Pr/PrAlgorithms/src/PrForwardTracking.h
index e88f46e91ba0c01c63be50c142f2ad36e18d1a11..ef505286c5d54376b81ddcb2d18fdf04ae3a5101 100644
--- a/Pr/PrAlgorithms/src/PrForwardTracking.h
+++ b/Pr/PrAlgorithms/src/PrForwardTracking.h
@@ -167,6 +167,10 @@ private:
   int                  m_timeExtend;
   int                  m_timeFinal;
 
+  using ErrorCounter = Gaudi::Accumulators::MsgCounter<MSG::ERROR>;
+
+  mutable ErrorCounter m_maxTracksErr{this, "Number of tracks reached maximum!"};
+
   mutable Gaudi::Accumulators::SummingCounter<unsigned int> m_nbOutputTracksCounter{this, "Nb output tracks"};
 
   // -- MAIN METHOD