diff --git a/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py b/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
index c847ac214ddb07c2cf06d7f70a1dd49e15cf839b..5ecee41f17d24b1aea95221ef2f88262cd254e19 100644
--- a/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
+++ b/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
@@ -154,17 +154,18 @@ def LArOutputCfg(flags):
     acc = ComponentAccumulator()
     if flags.Output.doWriteRDO:
         ItemList = []
-        if flags.Digitization.PileUpPremixing:
-            ItemList += ["LArDigitContainer#" + flags.Overlay.BkgPrefix + "LArDigitContainer_MC"]
+        if flags.Digitization.AddCaloDigi:
+            ItemList.append("LArDigitContainer#*")
+        elif flags.Digitization.PileUpPremixing:
+            ItemList.append("LArDigitContainer#" + flags.Overlay.BkgPrefix + "LArDigitContainer_MC")
         else:
-            ItemList += [
-                "LArRawChannelContainer#LArRawChannels",
-                "LArDigitContainer#LArDigitContainer_MC_Thinned"
-            ]
+            ItemList.append("LArDigitContainer#LArDigitContainer_MC_Thinned")
+        if not flags.Digitization.PileUpPremixing:
+            ItemList.append("LArRawChannelContainer#LArRawChannels")
         if flags.Detector.SimulateHGTD:
-            ItemList += ["LArHitContainer#HGTDDigitContainer_MC"]
+            ItemList.append("LArHitContainer#HGTDDigitContainer_MC")
         if flags.Digitization.TruthOutput:
-            ItemList += ["CaloCalibrationHitContainer#*"]
+            ItemList.append("CaloCalibrationHitContainer#*")
             acc.merge(TruthDigitizationOutputCfg(flags))
         acc.merge(OutputStreamCfg(flags, "RDO", ItemList))
     return acc
diff --git a/Simulation/Digitization/python/DigitizationConfigFlags.py b/Simulation/Digitization/python/DigitizationConfigFlags.py
index debcc204cc6b968ed8a3cdbbdb1e1aa3650b4c4d..57f81782e310fcc85d2f50c9613c86c5dba69684 100644
--- a/Simulation/Digitization/python/DigitizationConfigFlags.py
+++ b/Simulation/Digitization/python/DigitizationConfigFlags.py
@@ -63,6 +63,8 @@ def createDigitizationCfgFlags():
     flags.addFlag("Digitization.TRTRangeCut", lambda prevFlags : float(GetFileMD(prevFlags.Input.Files).get('TRTRangeCut', 0.05)))
     # Write out truth information?
     flags.addFlag("Digitization.TruthOutput", False)
+    # Write out calorimeter digits
+    flags.addFlag("Digitization.AddCaloDigi", False)
     # Integer offset to random seed initialisation
     flags.addFlag("Digitization.RandomSeedOffset", 0)
     return flags
diff --git a/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py b/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py
index 06070f59d8c289fea3fbfc21a97f58757276fef5..570a0c35fbafc6e212967dbc9a60040d1e97c4ad 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py
@@ -148,8 +148,10 @@ def TileDigitsMakerOutputCfg(flags, **kwargs):
             tileDigitsContainer = tileDigitsMaker.getDefaultProperty('TileFilteredContainer')
 
     tileDigitsContainer = tileDigitsContainer.split('+').pop()
-    outputItemList = ['TileDigitsContainer#' + tileDigitsContainer]
-    
+    if flags.Digitization.AddCaloDigi:
+        outputItemList = ['TileDigitsContainer#*']
+    else:
+        outputItemList = ['TileDigitsContainer#' + tileDigitsContainer]
 
     if flags.Output.doWriteRDO:
         if flags.Digitization.TruthOutput: