diff --git a/Control/AthenaMonitoring/python/DQConfigFlags.py b/Control/AthenaMonitoring/python/DQConfigFlags.py
index 603243c208641ce6213ef6106297242714f4b6a5..1f062c8b5b5b920835772f7403bc1c8c378865b4 100644
--- a/Control/AthenaMonitoring/python/DQConfigFlags.py
+++ b/Control/AthenaMonitoring/python/DQConfigFlags.py
@@ -45,6 +45,10 @@ def createDQConfigFlags():
         arg = True
         if flag == 'doJetTagMon':
             arg = lambda x: x.DQ.DataType != 'cosmics' # noqa: E731
+        if flag == 'doHLTMon':
+            # new HLT monitoring not yet compatible with pre-Run 3 data
+            arg = lambda x: x.Trigger.EDMDecodingVersion == 3 # noqa: E731
+
         acf.addFlag('DQ.Steering.' + flag, arg)
 
     # HLT steering ...
diff --git a/Control/AthenaMonitoring/python/DQMonFlags.py b/Control/AthenaMonitoring/python/DQMonFlags.py
index 8b733d2b926f1e991fe45aace3d64c36ee24fdd7..36d5a8abe1f46b1c9547e7848dab44b591a64ecb 100644
--- a/Control/AthenaMonitoring/python/DQMonFlags.py
+++ b/Control/AthenaMonitoring/python/DQMonFlags.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 ##
 ## @file DataQualityTools/python/DQMonFlags.py
@@ -418,7 +418,7 @@ class doNewMonitoring(JobProperty):
     """ Global switch for monitoring """
     statusOn=True
     allowedTypes=['bool']
-    StoredValue=False
+    StoredValue=True
 list+=[doNewMonitoring]
 
 ##-----------------------------------------------------------------------------
diff --git a/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py b/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py
index e8376787b04305002e35ec70fd8aa4a9c380c073..29de83de225b6927b5a6fec2622f38dbe476e040 100644
--- a/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py
+++ b/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py
@@ -17,6 +17,12 @@ if not 'rec' in dir():
 
 from RecExConfig.RecAlgsFlags import recAlgs
 
+# if we are not in MT mode, do not run new-style monitoring
+# if you really want to override, use set_Value_and_Lock(True) on the relevant flags below
+from TriggerJobOpts.TriggerFlags import TriggerFlags
+if not TriggerFlags.doMT():
+   DQMonFlags.doNewMonitoring=False
+
 # Set the data type based on beamType/HI flag
 if globalflags.DataSource.get_Value() == 'geant4':
    DQMonFlags.monManDataType = 'monteCarlo'
@@ -66,7 +72,6 @@ else:
    local_logger.warning("invalid DQMonFlags.monType: %s, using default monManEnvironment", DQMonFlags.monType())
 
 # the meaning of this flag has changed in MT
-from TriggerJobOpts.TriggerFlags import TriggerFlags
 if (rec.doTrigger() == False and 
     not (TriggerFlags.doMT() and DQMonFlags.monManEnvironment=='tier0ESD' and DQMonFlags.useTrigger())):
    DQMonFlags.useTrigger=False     # steers trigger-awareness
diff --git a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py
index 713003405efcf53e3cc38bd4dce82c39871dbe2f..3b58cb61aeb9b2ede3edd48e5639311b163ae774 100644
--- a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py
+++ b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py
@@ -351,12 +351,14 @@ if DQMonFlags.doMonitoring():
       from AthenaMonitoring.AthenaMonitoringCfg import AthenaMonitoringCfg
       from AthenaMonitoring.DQConfigFlags import allSteeringFlagsOff
       from AthenaMonitoring import AthenaMonitoringConf
+      from TriggerJobOpts.TriggerFlags import TriggerFlags
 
       Steering = ConfigFlags.DQ.Steering
       Steering.doGlobalMon=DQMonFlags.doGlobalMon()
       Steering.doLVL1CaloMon=DQMonFlags.doLVL1CaloMon()
       Steering.doCTPMon=DQMonFlags.doCTPMon()
-      Steering.doHLTMon=DQMonFlags.doHLTMon()
+      # do not enable new HLT monitoring if we are not in Run 3 EDM
+      Steering.doHLTMon=DQMonFlags.doHLTMon() and TriggerFlags.EDMDecodingVersion() == 3
       Steering.doPixelMon=DQMonFlags.doPixelMon()
       Steering.doSCTMon=DQMonFlags.doSCTMon()
       Steering.doTRTMon=DQMonFlags.doTRTMon()