diff --git a/Phys/Tesla/python/Tesla/Configuration.py b/Phys/Tesla/python/Tesla/Configuration.py
index 6e049852617d670d04f60dbc15df47531ed7ff02..729b8841e1aaa5cca56a233e6a21e4be61dd664b 100644
--- a/Phys/Tesla/python/Tesla/Configuration.py
+++ b/Phys/Tesla/python/Tesla/Configuration.py
@@ -90,6 +90,7 @@ class Tesla(LHCbConfigurableUser):
           , 'PersistRecoMC'  	: True          # Match persistReco objects to MC
           , 'ProtoTypesPR'  	: ["long","down"] # Which protoparticle types are in Turbo++
           , 'KillInputHlt2Reps'	: False         # Kill input Hlt2 reps to save space
+          , 'InputHlt2RepsToKeep' : []          # List of selection names of reports to keep (if KillInputHlt2Reps is True)
           , 'HDRFilter'	        : False         # Filter on trigger lines or not
           , 'Park'	        : False         # If prescaled streams, make a parked version
          # Remove maybe
@@ -138,6 +139,7 @@ class Tesla(LHCbConfigurableUser):
             , 'PersistRecoMC'  	: 'Match persistReco objects to MC'
             , 'ProtoTypesPR'  	: 'Which protoparticle types are in Turbo++'
             , 'KillInputHlt2Reps':'Kill input Hlt2 reps to save space'
+            , 'InputHlt2RepsToKeep': 'List of selection names of reports to keep (if KillInputHlt2Reps is True)'
             , 'HDRFilter'	: 'Filter on trigger lines or not'
             , 'RemovePrescaleExcl': 'Remove DST data banks in exclusively prescaled lines'
             , 'Park'	        : 'If prescaled streams, make a parked version'
@@ -154,7 +156,7 @@ class Tesla(LHCbConfigurableUser):
             , 'ILinePersistenceSvc' : "Implementation of the ILinePersistenceSvc to use (for >= 2017 data types)"
             , 'CandidatesFromSelReports' : ("If True and DataType >= 2017, take Turbo candidates from Hlt2SelReports rather than "
                                             "from the DstData raw bank (i.e. behave as if DataType =< 2016)")
-            
+
             }
 
     writerName = "DstWriter"
@@ -589,7 +591,7 @@ class Tesla(LHCbConfigurableUser):
             fname = self.getProp("outputFile")
         else:
             fname = self.getProp("outputPrefix") + stream + self.getProp("outputSuffix")
-        
+
         # Building sequencer with stream
         seq = GaudiSequencer('TeslaStreamSequence' + stream)
 
@@ -964,13 +966,45 @@ class Tesla(LHCbConfigurableUser):
 
         return stream_seq
 
+    def _configureHlt2SelReportsKill(self):
+        from Configurables import bankKiller, HltSelReportsStripper
+
+        inputHlt2RepsToKeep = self.getProp('InputHlt2RepsToKeep')
+
+        kill_seq = GaudiSequencer('Hlt2SelReportsKillerSeq')
+
+        killer = bankKiller("Hlt2SelReportsBankKiller")
+        killer.BankTypes = ["HltSelReports"]
+        killer.DefaultIsKill = False
+        killer.KillSourceID = 2 << 13
+        kill_seq.Members.append(killer)
+
+        # if the list of reports to keep is empty, do nothing more
+        if inputHlt2RepsToKeep:
+            assert all(name.endswith('Decision') for name in inputHlt2RepsToKeep)
+            # By the time the stripper runs Hlt2/SelReports should exist
+            stripper = HltSelReportsStripper('Hlt2SelReportsStripper')
+            stripper.OutputHltSelReportsLocation = 'Hlt2/SelReportsFiltered'
+            stripper.OutputHltObjectSummariesLocation = (
+                str(stripper.OutputHltSelReportsLocation) + '/Candidates')
+            stripper.SelectionNames = inputHlt2RepsToKeep
+            stripper.OutputLevel = self.getProp('OutputLevel')
+            kill_seq.Members.append(stripper)
+
+            writer = HltSelReportsWriter('Hlt2SelReportsFilteredWriter')
+            writer.SourceID = 2
+            writer.InputHltSelReportsLocation = str(stripper.OutputHltSelReportsLocation)
+            writer.OutputLevel = self.getProp('OutputLevel')
+            kill_seq.Members.append(writer)
+
+        return kill_seq
 
     def __apply_configuration__(self):
         ############## Set other properties ###########
         self._safeSet( LHCbApp(), ['EvtMax','SkipEvents','Simulation', 'DataType' , 'CondDBtag','DDDBtag'] )
         self._safeSet( TrackSys(), ['DataType'] )
         self._safeSet( TurboConf(), ['DataType'] )
-        
+
         # Make sure DQFlags are ignored for Tesla productions
         if self.getProp('IgnoreDQFlags'):
             if not LHCbApp().isPropertySet( "IgnoreDQFlags" ) :
@@ -1011,7 +1045,7 @@ class Tesla(LHCbConfigurableUser):
             ApplicationMgr().TopAlg.insert( 0,  enk.getFullName() )
 
         if self.getProp('KillInputHlt2Reps'):
-            bk = bankKiller("Hlt2RepKiller", BankTypes = ["HltSelReports"], DefaultIsKill = False, KillSourceID=(2<<13) )
-            self.teslaSeq.Members+=[bk]
+            kill_selreports = self._configureHlt2SelReportsKill()
+            self.teslaSeq.Members += [kill_selreports]
 
         ApplicationMgr().TopAlg+=[self.teslaSeq]