diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py
index 418bed585ce49a7532cb5cef6133b24d2a033079..59b00909426c71860d128a2fa8323f579cd00087 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py
@@ -150,8 +150,8 @@ else:
     # ----------- Configuring the conditions access
     #
     # ------------------------------------------------------------
-    
-    include ("InDetRecExample/InDetRecConditionsAccess.py")
+    if not rec.doAODMerging():
+      include ("InDetRecExample/InDetRecConditionsAccess.py")
 
     # ------------------------------------------------------------
     # 
@@ -159,7 +159,8 @@ else:
     #
     # ------------------------------------------------------------
     
-    include ("InDetRecExample/InDetRecLoadTools.py")
+    if not rec.doAODMerging():  
+      include ("InDetRecExample/InDetRecLoadTools.py")
 
     # ------------------------------------------------------------
     #
@@ -1341,7 +1342,7 @@ else:
     #
     #
     # xAOD creation/conversion
-    if (InDetFlags.doxAOD()):
+    if (InDetFlags.doxAOD() and not rec.doAODMerging()):
       include("InDetRecExample/InDetxAODCreator.py")
 
     # Do post-processing algorithms (may depend on xAOD objects)
diff --git a/LArCalorimeter/LArDetDescr/share/LArDetDescr_joboptions.py b/LArCalorimeter/LArDetDescr/share/LArDetDescr_joboptions.py
index dbb4a11a5db9fcbe75f35b84e81875cca279eda5..cf9278429ccae67d20d673a5c7101187ae482ada 100755
--- a/LArCalorimeter/LArDetDescr/share/LArDetDescr_joboptions.py
+++ b/LArCalorimeter/LArDetDescr/share/LArDetDescr_joboptions.py
@@ -7,15 +7,17 @@ print "now initializing the LAr readout geometry : standard Atlas flavour"
 include( "CaloConditions/CaloConditions_jobOptions.py" )
 
 from AthenaCommon.GlobalFlags import globalflags
+from RecExConfig.RecFlags import rec
 
-if globalflags.DataSource() == 'geant4' :
-  include( "LArConditionsCommon/LArConditionsCommon_MC_jobOptions.py" )
-  include( "LArConditionsCommon/LArIdMap_MC_jobOptions.py" )
-elif globalflags.DataSource() == 'data'  :
-  include( "LArConditionsCommon/LArConditionsCommon_comm_jobOptions.py" )
-  include( "LArConditionsCommon/LArIdMap_comm_jobOptions.py" )
-else :
-  raise RunTimeError, " from LArDetDescr_joboptions.py: DataSource not supported" 
+if not rec.doAODMerging():
+  if globalflags.DataSource() == 'geant4' :
+    include( "LArConditionsCommon/LArConditionsCommon_MC_jobOptions.py" )
+    include( "LArConditionsCommon/LArIdMap_MC_jobOptions.py" )
+  elif globalflags.DataSource() == 'data'  :
+    include( "LArConditionsCommon/LArConditionsCommon_comm_jobOptions.py" )
+    include( "LArConditionsCommon/LArIdMap_comm_jobOptions.py" )
+  else :
+    raise RunTimeError, " from LArDetDescr_joboptions.py: DataSource not supported" 
 
 # must be included once only :
 include.block ("LArDetDescr/LArDetDescr_joboptions.py")
diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_config.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_config.py
index 1d282eaad0e938d5c2482f0133ff661970b2b02c..b64199d8fd827cb2cfa0f18df62db176cba8b4c2 100755
--- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_config.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_config.py
@@ -19,5 +19,6 @@ muonCombinedRecFlags.setDefaults()
 include ("MuonCombinedRecExample/MuonCombinedRec_preprocessing.py")
 
 include ("MuonCombinedRecExample/MuonCombinedRec_identification.py")
-    
-include ("MuonCombinedRecExample/MuonCombinedRec_postprocessing.py")
+
+if not rec.doAODMerging():    
+    include ("MuonCombinedRecExample/MuonCombinedRec_postprocessing.py")
diff --git a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py
index 3844a5ee537c924520f1f98c0a9e117be1cce142..f82e59fb19d55499c40b6daee616769727ef19cf 100755
--- a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py
+++ b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py
@@ -90,6 +90,7 @@ excludeTracePattern.append("*/DQDefects/virtual*")
 excludeTracePattern.append("*/PanTauAnalysis/Class_FeatureHandler.py")
 excludeTracePattern.append("*/TrigEDMConfig/TriggerEDM.py")
 excludeTracePattern.append("*/TrigL2MissingET/TrigL2MissingETMonitoring.py")
+excludeTracePattern.append("*AthFile/impl.py")
 #####################
 # Flags (separated) #
 #####################
diff --git a/Reconstruction/RecExample/RecExCond/share/AllDet_detDescr.py b/Reconstruction/RecExample/RecExCond/share/AllDet_detDescr.py
index 57aaf14b3abba48cd5088cd1c4c75a223480e8b5..6645f9aee68ac8694f0560dcbbfdfe7dbc41ffe4 100755
--- a/Reconstruction/RecExample/RecExCond/share/AllDet_detDescr.py
+++ b/Reconstruction/RecExample/RecExCond/share/AllDet_detDescr.py
@@ -6,6 +6,7 @@ include ("RecExCond/RecExCommon_DetFlags.py")
 
 from AthenaCommon.Logging import logging
 from AthenaCommon.Resilience import treatException,protectedInclude
+from RecExConfig.RecFlags import rec
 
 logAllDet_detDescr = logging.getLogger( 'AllDet_detDescr' )
 
@@ -23,19 +24,19 @@ if DetFlags.detdescr.any_on():
     from AtlasGeoModel import GeoModelInit
     from AtlasGeoModel import SetupRecoGeometry
 
-    if DetFlags.detdescr.Tile_on():
+    if DetFlags.detdescr.Tile_on() and not rec.doAODMerging():
         
         protectedInclude( "TileConditions/TileConditions_jobOptions.py" )
         
 
 
-    if DetFlags.detdescr.Calo_on():
+    if DetFlags.detdescr.Calo_on() and not rec.doAODMerging():
         protectedInclude( "CaloIdCnv/CaloIdCnv_joboptions.py" )
         #FIXME tile and lar not independent
         protectedInclude( "TileIdCnv/TileIdCnv_jobOptions.py" )
 
 
-    if DetFlags.detdescr.LAr_on():
+    if DetFlags.detdescr.LAr_on() and not rec.doAODMerging():
         try:
             include( "LArDetDescr/LArDetDescr_joboptions.py" )
         except Exception:
@@ -53,11 +54,11 @@ if DetFlags.detdescr.any_on():
 # Beam Spot service (only if ID requested)
     from AthenaCommon.GlobalFlags import globalflags
     # use even if commisisoning and not globalflags.DetGeo=='commis' :
-    if DetFlags.detdescr.ID_on():
+    if DetFlags.detdescr.ID_on() and not rec.doAODMerging():
         protectedInclude("InDetBeamSpotService/BeamCondSvc.py" )        
 
 
-    if DetFlags.detdescr.Muon_on():
+    if DetFlags.detdescr.Muon_on() and not rec.doAODMerging():
         protectedInclude ("AmdcAth/AmdcAth_jobOptions.py")
 
         #if DetDescrVersion[0:3]=="DC2":
@@ -73,7 +74,7 @@ if DetFlags.detdescr.any_on():
 
 
     # MagneticField Service
-    if DetFlags.detdescr.BField_on():
+    if DetFlags.detdescr.BField_on() and not rec.doAODMerging():
         #protectedInclude( "BFieldAth/BFieldAth_jobOptions.py" )
         import MagFieldServices.SetupField
 
diff --git a/Reconstruction/RecExample/RecExConfig/python/RecFlags.py b/Reconstruction/RecExample/RecExConfig/python/RecFlags.py
index e4a83c82d45987f6dd7b3f234397d013823666ab..0061315d54c81f623881de227e53faa952e25fba 100755
--- a/Reconstruction/RecExample/RecExConfig/python/RecFlags.py
+++ b/Reconstruction/RecExample/RecExConfig/python/RecFlags.py
@@ -523,6 +523,15 @@ class noESDTrigger(JobProperty):
     allowedTypes=['bool']
     StoredValue=False
 #
+
+class doAODMerging(JobProperty):
+    """ specify that this is an aod merging job """
+    statusOn=True
+    allowedTypes=['bool']
+    StoredValue=False
+#
+
+
 class OutputLevel(JobProperty):
     """ General msg output level VERBOSE DEBUG INFO
         look here mgallas
@@ -1020,7 +1029,7 @@ doWriteAOD, doWritexAOD, doWriteESD, doWriteBS, doWriteRDO, doWriteTAG, doWriteT
 readESD, doDetStatus, AMITag, AutoConfiguration, RunNumber, triggerStream, projectName, \
 doInDet,doLArg,doTile,doCalo,doMuon,doForwardDet,doLucid,doZdc,doAlfa,doAFP,doFwdRegion,doJetMissingETTag,doEgamma,doMuonCombined,doTau,doFTK,doTrigger,doBTagging, Production, doPhysValMonHists, \
 doHeavyIon, doHIP, doLowPt, doMinimalRec, noESDTrigger,doFileMetaData,ScopingLevel, Commissioning, oldRecExCommissionConfig, mergingStreamName, LCGCMTVersion, \
-AtlasReleaseVersion, inputFileFromAthenaVersion, doApplyAODFix, doAODSelect, doRDOTrigger, doFastPhysMonitoring, RootFastPhysMonOutput,doWriteCalibHits, doTriggerFilter, triggerFilterList, doContainerRemapping, doPhysicsValidationAugmentation, doESDReconstruction, doExpressProcessing, doPersistencyOptimization, doCaloRinger]
+AtlasReleaseVersion, inputFileFromAthenaVersion, doApplyAODFix, doAODSelect, doRDOTrigger, doFastPhysMonitoring, RootFastPhysMonOutput,doWriteCalibHits, doTriggerFilter, triggerFilterList, doContainerRemapping, doPhysicsValidationAugmentation, doESDReconstruction, doExpressProcessing, doPersistencyOptimization, doCaloRinger, doAODMerging]
 for j in _list_Rec:
     jobproperties.Rec.add_JobProperty(j)
 del _list_Rec
diff --git a/Reconstruction/RecJobTransforms/share/skeleton.MergePool_tf.py b/Reconstruction/RecJobTransforms/share/skeleton.MergePool_tf.py
index 106415ec12aac9cf7c0f9fa3629e91fd25f5d916..a389ed15e298455a69b322ab3bf4743498e06009 100644
--- a/Reconstruction/RecJobTransforms/share/skeleton.MergePool_tf.py
+++ b/Reconstruction/RecJobTransforms/share/skeleton.MergePool_tf.py
@@ -42,6 +42,8 @@ if hasattr(runArgs,"inputAODFile"):
     rec.readAOD.set_Value_and_Lock( True )
     rec.doWriteAOD.set_Value_and_Lock( True )
     athenaCommonFlags.PoolAODInput.set_Value_and_Lock( runArgs.inputAODFile )
+    rec.doAODMerging.set_Value_and_Lock(True)
+    rec.doApplyAODFix.set_Value_and_Lock(False)
 
 if hasattr(runArgs,"inputESDFile"):
     rec.readESD.set_Value_and_Lock( True )
@@ -68,6 +70,7 @@ if hasattr(runArgs,"preInclude"):
 rec.doAOD.lock()
 rec.doESD.lock()
 
+
 include( "RecExCommon/RecExCommon_topOptions.py" )
 
 if rec.doWriteAOD: