diff --git a/Generators/CosmicGenerator/python/CosmicGeneratorConfig.py b/Generators/CosmicGenerator/python/CosmicGeneratorConfig.py
index d315f9721c09533a82fe40d3cb720c44c34be89b..41a538590194f705b3993d53e07ccfbf57f0b979 100644
--- a/Generators/CosmicGenerator/python/CosmicGeneratorConfig.py
+++ b/Generators/CosmicGenerator/python/CosmicGeneratorConfig.py
@@ -152,8 +152,7 @@ def CosmicGeneratorCfg(flags, name="CosmicGenerator", **kwargs):
     ## Set up random seeds FIXME
     seed = 'COSMICS OFFSET 1234 2040160768 443921183'
     from RngComps.RandomServices import dSFMT
-    result.merge(dSFMT(seed))
-    kwargs.setdefault('AtRndmGenSvc', result.getService("AtDSFMTGenSvc"))
+    kwargs.setdefault('AtRndmGenSvc', result.getPrimaryAndMerge(dSFMT(seed)).name)
 
     from CosmicGenerator.CosmicGeneratorConfig import CavernPropertyCalculator
     theCavern = CavernPropertyCalculator()
diff --git a/Simulation/ISF/ISF_Core/ISF_Tools/python/ISF_ToolsConfig.py b/Simulation/ISF/ISF_Core/ISF_Tools/python/ISF_ToolsConfig.py
index 08aafc0e00846a71c579a2f9dfdd7944a3694906..836a6a0e25b20d549d30f9b40c34940171b30c41 100644
--- a/Simulation/ISF/ISF_Core/ISF_Tools/python/ISF_ToolsConfig.py
+++ b/Simulation/ISF/ISF_Core/ISF_Tools/python/ISF_ToolsConfig.py
@@ -87,7 +87,7 @@ def getCosmicEventFilterTool(name="ISF_CosmicEventFilter", **kwargs):
         if simFlags.CosmicFilterVolumeName2=="Muon":
             useAndFilter = True
             volumeNames += ["MuonExitLayer"]
-        if simFlags.CosmicFilterVolumeName=="Calo":
+        if simFlags.CosmicFilterVolumeName2=="Calo":
             useAndFilter = True
             volumeNames += ["MuonEntryLayer"]
         if simFlags.CosmicFilterVolumeName2=="InnerDetector":
diff --git a/Simulation/ISF/ISF_Core/ISF_Tools/python/ISF_ToolsConfigNew.py b/Simulation/ISF/ISF_Core/ISF_Tools/python/ISF_ToolsConfigNew.py
index a702c6ade930fa691cd64e55be4e2a004b6d0230..743a19168d6ed7edbed5d13c23546bb15c371180 100644
--- a/Simulation/ISF/ISF_Core/ISF_Tools/python/ISF_ToolsConfigNew.py
+++ b/Simulation/ISF/ISF_Core/ISF_Tools/python/ISF_ToolsConfigNew.py
@@ -101,25 +101,17 @@ def ValidationEntryLayerFilterCfg(flags, name="ISF_ValidationEntryLayerFilter",
 
 
 def CosmicEventFilterToolCfg(flags, name="ISF_CosmicEventFilter", **kwargs):
-    volmap = {
-        "Muon": ["MuonExitLayer"],
-        "Calo": ["MuonEntryLayer"],
-        "InnerDetector": ["CaloEntryLayer"],
-        "TRT_Barrel": ["TRTBarrelEntryLayer"],
-        "TRT_EC": ["TRTECAEntryLayer", "TRTECBEntryLayer"],
-        "SCT_Barrel": ["SCTBarrelEntryLayer"],
-        "Pixel": ["PixelEntryLayer"],
-    }
-    volumeNames = []
-    for vol in flags.Sim.CosmicFilterVolumeNames:
-        volumeNames += volmap[name]
-
-    kwargs.setdefault("UseAndFilter", True)
-    kwargs.setdefault("VolumeNames", volumeNames)
-    kwargs.setdefault("PDG_ID", flags.Sim.CosmicFilterID)
-    kwargs.setdefault("ptMin", flags.Sim.CosmicFilterPTmin)
-    kwargs.setdefault("ptMax", flags.Sim.CosmicFilterPTmax)
+    from G4CosmicFilter.G4CosmicFilterConfigNew import configCosmicFilterVolumeNames
     acc = ComponentAccumulator()
+    volumeNames = configCosmicFilterVolumeNames(flags)
+    kwargs.setdefault("UseAndFilter", len(volumeNames)<3 )
+    kwargs.setdefault("VolumeNames", volumeNames)
+    if flags.Sim.CosmicFilterID:
+        kwargs.setdefault("PDG_ID", flags.Sim.CosmicFilterID)
+    if flags.Sim.CosmicFilterPTmin:
+        kwargs.setdefault("ptMin", flags.Sim.CosmicFilterPTmin)
+    if flags.Sim.CosmicFilterPTmax:
+        kwargs.setdefault("ptMax", flags.Sim.CosmicFilterPTmax)
     acc.setPrivateTools(CompFactory.ISF.CosmicEventFilterTool(name, **kwargs))
     return acc