diff --git a/Simulation/G4Atlas/G4AtlasAlg/python/G4AtlasAlgConfig.py b/Simulation/G4Atlas/G4AtlasAlg/python/G4AtlasAlgConfig.py
index bf324665694acda2f9f93c221ed2e707539a7278..dc8bfa4144284bb385edfd451ddbea5559bf1991 100644
--- a/Simulation/G4Atlas/G4AtlasAlg/python/G4AtlasAlgConfig.py
+++ b/Simulation/G4Atlas/G4AtlasAlg/python/G4AtlasAlgConfig.py
@@ -34,6 +34,8 @@ def getG4AtlasAlg(name='G4AtlasAlg', **kwargs):
     from AthenaCommon.ConcurrencyFlags import jobproperties as concurrencyProps
     is_hive = (concurrencyProps.ConcurrencyFlags.NumThreads() > 0)
     kwargs.setdefault('MultiThreading', is_hive)
+    if is_hive:
+        kwargs.setdefault('Cardinality', concurrencyProps.ConcurrencyFlags.NumThreads())
 
     kwargs.setdefault('TruthRecordService', simFlags.TruthStrategy.TruthServiceName())
     kwargs.setdefault('GeoIDSvc', 'ISF_GeoIDSvc')