diff --git a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
index 50145813001271ea001fdf55037be8f3bc06e9b9..a95790e796f3f0db078e2521e1b70499f93fd626 100644
--- a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
+++ b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
@@ -566,6 +566,7 @@ class MessageCountStep(Step):
         self.log_regex = r'(athena\..*log$|athenaHLT:.*\.out$|^log\..*to.*)'
         self.start_pattern = r'(HltEventLoopMgr|AthenaHiveEventLoopMgr).*INFO Starting loop on events'
         self.end_pattern = r'(HltEventLoopMgr.*INFO All events processed|AthenaHiveEventLoopMgr.*INFO.*Loop Finished)'
+        self.warning_threshold = None
         self.info_threshold = None
         self.debug_threshold = None
         self.verbose_threshold = None
@@ -575,6 +576,8 @@ class MessageCountStep(Step):
     def configure(self, test):
         self.args += ' -s "{:s}"'.format(self.start_pattern)
         self.args += ' -e "{:s}"'.format(self.end_pattern)
+        if self.warning_threshold is None:
+            self.warning_threshold = 0
         if self.info_threshold is None:
             self.info_threshold = test.exec_steps[0].max_events
         if self.debug_threshold is None:
@@ -600,17 +603,23 @@ class MessageCountStep(Step):
             if self.auto_report_result:
                 self.report_result()
             return self.result, cmd
-        (num_info, num_debug, num_verbose, num_other) = (0, 0, 0, 0)
+        (num_warning, num_info, num_debug, num_verbose, num_other) = (0, 0, 0, 0, 0)
         for log_file in log_files:
             json_file = 'MessageCount.{:s}.json'.format(log_file)
             if not os.path.isfile(json_file):
                 self.log.warning('%s cannot open file %s', self.name, json_file)
             with open(json_file) as f:
                 summary = json.load(f)
+                num_warning += summary['WARNING']
                 num_info += summary['INFO']
                 num_debug += summary['DEBUG']
                 num_verbose += summary['VERBOSE']
                 num_other += summary['other']
+        if num_warning > self.warning_threshold:
+            self.log.info(
+                '%s Number of WARNING messages %s is higher than threshold %s',
+                self.name, num_warning, self.warning_threshold)
+            self.result += 1
         if num_info > self.info_threshold:
             self.log.info(
                 '%s Number of INFO messages %s is higher than threshold %s',
diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py
index e216367b5daf148533d0ab96ff671775f5ab5f10..944198e03f0a78ef14436f3d66fa83f87b68de00 100755
--- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py
+++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py
@@ -27,10 +27,13 @@ test.art_type = 'build'
 test.exec_steps = [ex]
 test.check_steps = CheckSteps.default_check_steps(test)
 
-#Overwrite default msgcount steps
+# Overwrite default MessageCount settings
+# We are trying to lower the limits step by step
+# Ultimately there should be no per-event messages
 msgcount = test.get_step("MessageCount")
+msgcount.warning_threshold = 500
 msgcount.info_threshold = 1200
-msgcount.other_threshold = 100
+msgcount.other_threshold = 80
 msgcount.required = True # make the test exit code depend on this step
 
 # Add a step comparing counts in the log against reference
diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_emptyMenu_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_emptyMenu_build.py
index e45d152c1f8371729e7ad08bba6d480aaaaec268..3985766c50c9aabaa822451989333685a22b7151 100755
--- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_emptyMenu_build.py
+++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_emptyMenu_build.py
@@ -36,8 +36,9 @@ test.check_steps.remove(test.get_step("ZeroCounts"))
 
 # Overwrite default MessageCount settings
 msgcount = test.get_step("MessageCount")
+msgcount.warning_threshold = 40
 msgcount.info_threshold = 600
-msgcount.other_threshold = 50
+msgcount.other_threshold = 40
 msgcount.required = True # make the test exit code depend on this step
 
 import sys