diff --git a/Event/FaserByteStreamCnvSvc/src/EventInfoByteStreamAuxCnv.cxx b/Event/FaserByteStreamCnvSvc/src/EventInfoByteStreamAuxCnv.cxx
index 341fa8d72af65d084dfeb1e41d73828599e0c1f7..531e74c5a0dac4b55899f05d953f4021ddbd3694 100644
--- a/Event/FaserByteStreamCnvSvc/src/EventInfoByteStreamAuxCnv.cxx
+++ b/Event/FaserByteStreamCnvSvc/src/EventInfoByteStreamAuxCnv.cxx
@@ -155,8 +155,8 @@ StatusCode EventInfoByteStreamAuxCnv::createObj(IOpaqueAddress* pAddr, DataObjec
   // Run Number
   int runNumber = re->run_number();
 
-  // Event Number
-  uint64_t eventNumber = re->event_id();
+  // Event Number (ordinal number of event in file)
+  uint64_t eventNumber = re->event_counter();
   
   // Time Stamp
   uint32_t bc_time_sec = re->timestamp()/1E6;  // timestamp is in usec
diff --git a/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfig.py b/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfig.py
index efeba22b22474a433802cec7a2560523e6058f5f..3d9ec7a072ce801067ae843341e5ca9b8f84ce40 100644
--- a/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfig.py
+++ b/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfig.py
@@ -126,9 +126,7 @@ def getFaserSCT_FrontEnd(name="FaserSCT_FrontEnd", **kwargs):
     kwargs.setdefault("SCT_ReadCalibChipDataTool", sct_ReadCalibChipDataToolSetup.getTool())
     # DataCompressionMode: 1 is level mode x1x (default), 2 is edge mode 01x, 3 is expanded any hit xxx
     from AthenaCommon.BeamFlags import jobproperties
-    if digitizationFlags.PileUpPremixing:
-        kwargs.setdefault("DataCompressionMode", 3)
-    elif globalflags.isOverlay() and globalflags.DataSource == 'geant4':
+    if globalflags.isOverlay() and globalflags.DataSource == 'geant4':
         kwargs.setdefault("DataCompressionMode", 2)
     elif (jobproperties.Beam.bunchSpacing() <= 50):
         kwargs.setdefault("DataCompressionMode", 1) 
@@ -201,13 +199,8 @@ def commonFaserSCT_DigitizationConfig(name,**kwargs):
 
 def FaserSCT_DigitizationTool(name="FaserSCT_DigitizationTool", **kwargs):
     from Digitization.DigitizationFlags import digitizationFlags
-    if digitizationFlags.PileUpPremixing and 'OverlayMT' in digitizationFlags.experimentalDigi():
-        from OverlayCommonAlgs.OverlayFlags import overlayFlags
-        kwargs.setdefault("OutputObjectName", overlayFlags.bkgPrefix() + "SCT_RDOs")
-        kwargs.setdefault("OutputSDOName", overlayFlags.bkgPrefix() + "SCT_SDO_Map")
-    else:
-        kwargs.setdefault("OutputObjectName", "SCT_RDOs")
-        kwargs.setdefault("OutputSDOName", "SCT_SDO_Map")
+    kwargs.setdefault("OutputObjectName", "SCT_RDOs")
+    kwargs.setdefault("OutputSDOName", "SCT_SDO_Map")
 
     # kwargs.setdefault("HardScatterSplittingMode", 0)
     return commonFaserSCT_DigitizationConfig(name,**kwargs)
diff --git a/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfigNew.py b/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfigNew.py
index 95d6b690ce2a9579c10d9c8e60f3daa614dc4e8b..a4bd9fb2c54f97e9983106eb6743c00bb772e585 100644
--- a/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfigNew.py
+++ b/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfigNew.py
@@ -58,12 +58,8 @@ def FaserSCT_DigitizationCommonCfg(flags, name="FaserSCT_DigitizationToolCommon"
 
 def FaserSCT_DigitizationToolCfg(flags, name="FaserSCT_DigitizationTool", **kwargs):
     """Return ComponentAccumulator with configured FaserSCT digitization tool"""
-    if flags.Digitization.PileUpPremixing:
-        kwargs.setdefault("OutputObjectName", flags.Overlay.BkgPrefix + "SCT_RDOs")
-        kwargs.setdefault("OutputSDOName", flags.Overlay.BkgPrefix + "SCT_SDO_Map")
-    else:
-        kwargs.setdefault("OutputObjectName", "SCT_RDOs")
-        kwargs.setdefault("OutputSDOName", "SCT_SDO_Map")
+    kwargs.setdefault("OutputObjectName", "SCT_RDOs")
+    kwargs.setdefault("OutputSDOName", "SCT_SDO_Map")
     #kwargs.setdefault("HardScatterSplittingMode", 0)
     return FaserSCT_DigitizationCommonCfg(flags, name, **kwargs)
 
@@ -194,9 +190,7 @@ def FaserSCT_FrontEndCfg(flags, name="FaserSCT_FrontEnd", **kwargs):
     acc = FaserSCT_ReadCalibChipDataCfg(flags)
     kwargs.setdefault("SCT_ReadCalibChipDataTool", acc.popPrivateTools())
     # DataCompressionMode: 1 is level mode x1x (default), 2 is edge mode 01x, 3 is expanded any hit xxx
-    if flags.Digitization.PileUpPremixing:
-        kwargs.setdefault("DataCompressionMode", 3)
-    elif False and flags.Input.isMC:  # obsolete(?) Overlay flag
+    if False and flags.Input.isMC:  # obsolete(?) Overlay flag
         kwargs.setdefault("DataCompressionMode", 2)
     elif flags.Beam.BunchSpacing <= 50:
         kwargs.setdefault("DataCompressionMode", 1)
diff --git a/Tracker/TrackerRecAlgs/TrackerClusterFit/src/ClusterFitAlg.cxx b/Tracker/TrackerRecAlgs/TrackerClusterFit/src/ClusterFitAlg.cxx
index 6e955b6a250599eaaf33d12baf0e55369803fd39..c9dda96331919df6f3ab97d9d3bcd85c62849360 100644
--- a/Tracker/TrackerRecAlgs/TrackerClusterFit/src/ClusterFitAlg.cxx
+++ b/Tracker/TrackerRecAlgs/TrackerClusterFit/src/ClusterFitAlg.cxx
@@ -99,6 +99,29 @@ StatusCode ClusterFitAlg::execute(const EventContext& ctx) const
 
   FaserSCT_ClusterContainer::const_iterator clusterCollections {clusterContainer->begin()};
   FaserSCT_ClusterContainer::const_iterator clusterCollectionsEnd {clusterContainer->end()};
+
+  // Make a first pass and count clusters
+  // Only if cluster limit is set to non-zero value
+  if (m_clusterLimit > 0) {
+    unsigned int n_clusters(0);
+    for (; clusterCollections != clusterCollectionsEnd; ++clusterCollections) 
+    {
+      const Tracker::FaserSCT_ClusterCollection* cl{*clusterCollections};
+      n_clusters += cl->size();
+    }
+
+    // Give up if too many clusters found
+    if (n_clusters > m_clusterLimit) {
+      m_numberOfSkippedEvents++;
+      ATH_MSG_WARNING("Skipping event with " << n_clusters << " clusters!");
+      ATH_CHECK(trackContainer.record(std::move(outputTracks)));
+      return StatusCode::SUCCESS;
+    }
+
+    // Reset begin pointer and tabulate cluster info by wafer
+    clusterCollections = clusterContainer->begin();
+  }
+
   for (; clusterCollections != clusterCollectionsEnd; ++clusterCollections) 
   {
     ++m_numberOfClusterCollection;      
@@ -352,11 +375,11 @@ StatusCode ClusterFitAlg::finalize()
   ATH_MSG_INFO("ClusterFitAlg::finalize()");
   ATH_MSG_INFO( m_numberOfEvents << " events processed" );
   ATH_MSG_INFO( m_numberOfTriggeredEvents << " triggered events processed" );
+  ATH_MSG_INFO( m_numberOfSkippedEvents << " events skipped for too many clusters" );
   ATH_MSG_INFO( m_numberOfClusterCollection<< " cluster collections processed" );
   ATH_MSG_INFO( m_numberOfCluster<< " cluster processed" );
   ATH_MSG_INFO( m_numberOfFits << " fits performed" );
 
-
   return StatusCode::SUCCESS;
 }
 
diff --git a/Tracker/TrackerRecAlgs/TrackerClusterFit/src/ClusterFitAlg.h b/Tracker/TrackerRecAlgs/TrackerClusterFit/src/ClusterFitAlg.h
index 54868f69ebbfabce756163e0c7180e00e794747f..e36f458c2b389a27fa4bcdde477dfbd3214f436d 100644
--- a/Tracker/TrackerRecAlgs/TrackerClusterFit/src/ClusterFitAlg.h
+++ b/Tracker/TrackerRecAlgs/TrackerClusterFit/src/ClusterFitAlg.h
@@ -69,7 +69,6 @@ class ClusterFitAlg : public AthReentrantAlgorithm, AthHistogramming
     //@}
     const ServiceHandle<ITHistSvc>& histSvc() const;
 
-
   private:
     /**    @name Disallow default instantiation, copy, assignment */
     //@{
@@ -192,6 +191,11 @@ class ClusterFitAlg : public AthReentrantAlgorithm, AthHistogramming
 
     DoubleArrayProperty m_zCenter { this, "ZCenter", { -1452.2925, 47.7075 , 1237.7075, 2427.7075 }, "Global z position at which to reconstruct track parameters"};
     UnsignedIntegerProperty m_triggerMask { this, "TriggerMask", 0x0, "Trigger mask to analyze (0 = pass all)" };
+
+    // Add property to skip reconstruction if cluster multiplicity is too large
+    // Set to 0 for no limit
+    UnsignedIntegerProperty m_clusterLimit { this, "ClusterLimit", 200, "Limit on cluster multiplicity to run algorithm" };
+
 /// a handle on the Hist/TTree registration service
     ServiceHandle<ITHistSvc> m_histSvc;
 
@@ -209,6 +213,7 @@ class ClusterFitAlg : public AthReentrantAlgorithm, AthHistogramming
     mutable std::atomic<int> m_numberOfClusterCollection{0};
     mutable std::atomic<int> m_numberOfCluster{0};
     mutable std::atomic<int> m_numberOfFits{0};
+    mutable std::atomic<int> m_numberOfSkippedEvents{0};
 };
 
 // For the THistSvc