diff --git a/Hlt/RecoConf/python/RecoConf/calorimeter_reconstruction.py b/Hlt/RecoConf/python/RecoConf/calorimeter_reconstruction.py
index f773ed6a9f3a3e7e980746a9ee6c9761ef5e644e..ecf4e2baff270d88e065780f02ef30639b088618 100644
--- a/Hlt/RecoConf/python/RecoConf/calorimeter_reconstruction.py
+++ b/Hlt/RecoConf/python/RecoConf/calorimeter_reconstruction.py
@@ -409,6 +409,7 @@ def make_calo_chargedpids(
     },
     save_residual_clusters_for_brem=True,
     use_residual_clusters_for_brem=True,
+    use_residual_clusters_for_brem_pid=False,
     base=r"CaloCharged{0}Alg_{1}_{{hash}}",
 ):
     pids = {"chargedpids": {}, "breminfos": {}}
@@ -434,7 +435,7 @@ def make_calo_chargedpids(
                 SaveResidualClusters=save_residual_clusters_for_brem,
                 UseResidualClustersForEnergy=use_residual_clusters_for_brem,
                 # to switch it on you'd need to calibrate the PID for it
-                UseResidualClustersForPID=False,
+                UseResidualClustersForPID=use_residual_clusters_for_brem_pid,
                 BremMethod=bremmethod,
             ).Output
     return pids
@@ -610,9 +611,10 @@ def make_calo(
         electrons, persistable_location("CaloElectrons")
     )
 
+    brem_track_types = set(tracks_incalo.keys()) & set(chargedpid_types["brem"])
     old_residual_brem_hypos = {}
     old_residual_brem_relations = {}
-    for tt in chargedpid_types["brem"]:
+    for tt in brem_track_types:
         old_residual_brem_hypos[tt], old_residual_brem_relations[tt] = convertHypos(
             thmatches[tt]["BremResidualHypos"]
         )
@@ -621,7 +623,7 @@ def make_calo(
         Inputs=[
             v["BremResidualHypos"]
             for k, v in thmatches.items()
-            if k in chargedpid_types["brem"]
+            if k in brem_track_types
         ]
     ).Output
     old_residual_brem_hypos["Merged"], old_residual_brem_relations["Merged"] = (