diff --git a/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoRDOTrig_mt1_build.py b/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoRDOTrig_mt1_build.py
index f9fe0a611ba06417ac1829d2de726fd64c453a80..d757889b79a8e70beec21f41c3ba574d7448e356 100755
--- a/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoRDOTrig_mt1_build.py
+++ b/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoRDOTrig_mt1_build.py
@@ -20,11 +20,13 @@ test.art_type = 'build'
 test.exec_steps = [ex]
 test.check_steps = CheckSteps.default_check_steps(test)
 
-# Overwrite default RegTest settings
-regtest = test.get_step('RegTest')
-regtest.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*'
-regtest.reference = 'TrigAnalysisTest/ref_RDOtoRDOTrig_mt1_build.ref'
-regtest.required = True # Final exit code depends on this step
+# Add a step comparing counts in the log against reference
+refcomp = CheckSteps.RegTestStep("CountRefComp")
+refcomp.input_base_name = 'athena.merged'
+refcomp.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*'
+refcomp.reference = 'TrigAnalysisTest/ref_RDOtoRDOTrig_mt1_build.ref'
+refcomp.required = True # Final exit code depends on this step
+CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp)
 
 import sys
 sys.exit(test.run())
diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_BeamSpot_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_BeamSpot_build.py
index e78dffd2bd416231a756cff09e585fb856a33c9d..c284f534bde1e29846e7355feb6a0eb0ca039219 100755
--- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_BeamSpot_build.py
+++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_BeamSpot_build.py
@@ -38,11 +38,12 @@ test.exec_steps = [ex_rm, ex_bs, ex]
 test.check_steps = [chk for chk in CheckSteps.default_check_steps(test)
                     if type(chk) in (CheckSteps.LogMergeStep, CheckSteps.CheckLogStep, CheckSteps.RegTestStep)]
 
-# Overwrite default RegTest settings
-regtest = test.get_step('RegTest')
-regtest.regex = 'InDet::InDetBeamSpotReader.*|BeamSpotCondAlg.*'
-regtest.reference = 'TrigP1Test/BeamSpot.ref'
-regtest.required = True # Final exit code depends on this step
+# Add a reference comparison step
+refcomp = CheckSteps.RegTestStep('RefComp')
+refcomp.regex = 'InDet::InDetBeamSpotReader.*|BeamSpotCondAlg.*'
+refcomp.reference = 'TrigP1Test/BeamSpot.ref'
+refcomp.required = True # Final exit code depends on this step
+CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp)
 
 import sys
 sys.exit(test.run())
diff --git a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
index ed979ceae7cfe2389ad4fc2541d458a2aa081d5f..50145813001271ea001fdf55037be8f3bc06e9b9 100644
--- a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
+++ b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
@@ -727,14 +727,6 @@ def default_check_steps(test):
     msgcount = MessageCountStep('MessageCount')
     check_steps.append(msgcount)
 
-    # RegTest
-    regtest = RegTestStep()
-    if log_to_check is not None:
-        regtest.input_base_name = os.path.splitext(log_to_check)[0]
-    if 'athenaHLT' in step_types:
-        regtest.regex = r'(?:HltEventLoopMgr(?!.*athenaHLT-)(?!.*DF_Pid)|REGTEST)'
-    check_steps.append(regtest)
-
     # Tail (probably not so useful these days)
     tail = TailStep()
     if log_to_check is not None:
@@ -767,3 +759,18 @@ def default_check_steps(test):
 
     # return the steps
     return check_steps
+
+
+def add_step_after_type(step_list, ref_type, step_to_add):
+    '''
+    Insert step_to_add into step_list after the last step of type ref_type.
+    If the list has no steps of type ref_type, append step_to_add at the end of the list.
+    '''
+    index_to_add = -1
+    for index, step in enumerate(step_list):
+        if isinstance(step, ref_type):
+            index_to_add = index+1
+    if index_to_add > 0:
+        step_list.insert(index_to_add, step_to_add)
+    else:
+        step_list.append(step_to_add)
diff --git a/Trigger/TrigValidation/TrigValTools/test/test_unit_trigvalsteering.py b/Trigger/TrigValidation/TrigValTools/test/test_unit_trigvalsteering.py
index 2a23da8f56a3b4bfb0cb8b805923ce50a5121d37..8d8958e2b9c6d162ba73dba9d634f7139cefbc86 100755
--- a/Trigger/TrigValidation/TrigValTools/test/test_unit_trigvalsteering.py
+++ b/Trigger/TrigValidation/TrigValTools/test/test_unit_trigvalsteering.py
@@ -34,8 +34,12 @@ regtest_ref_text = [
 with open('regtest.ref','w') as f:
     f.write('\n'.join(regtest_ref_text))
 
-test.get_step("RegTest").regex = '###'
-test.get_step("RegTest").reference = 'regtest.ref'
+refcomp = CheckSteps.RegTestStep('RefComp')
+refcomp.input_base_name = 'athena.merged'
+refcomp.regex = '###'
+refcomp.reference = 'regtest.ref'
+refcomp.required = True
+CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp)
 
 import sys
 sys.exit(test.run())
diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_newJO_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_newJO_build.py
index 6f7839c41f7607aa48f661770b406ff6a86f82d2..1d62c1fb18a2ced6bb0be6a020146619069a050b 100755
--- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_newJO_build.py
+++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_newJO_build.py
@@ -39,9 +39,5 @@ test.art_type = 'build'
 test.exec_steps = [copy_jo, pickle, run_athena]
 test.check_steps = CheckSteps.default_check_steps(test)
 
-# Change RegTest pattern
-regtest = test.get_step('RegTest')
-regtest.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*'
-
 import sys
 sys.exit(test.run())
diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_MT_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_MT_build.py
index 23d604c7023e3c8f959c9dba53834c021b87a595..0feb6229726bc88e103ee782598065f9533706d9 100755
--- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_MT_build.py
+++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_MT_build.py
@@ -28,11 +28,12 @@ test.art_type = 'build'
 test.exec_steps = [ex]
 test.check_steps = CheckSteps.default_check_steps(test)
 
-# Overwrite default RegTest settings
-regtest = test.get_step('RegTest')
-regtest.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*'
-regtest.reference = 'TriggerTest/ref_data_v1Dev_build.ref'
-regtest.required = True # Final exit code depends on this step
+# Add a step comparing counts in the log against reference
+refcomp = CheckSteps.RegTestStep("CountRefComp")
+refcomp.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*'
+refcomp.reference = 'TriggerTest/ref_data_v1Dev_build.ref'
+refcomp.required = True # Final exit code depends on this step
+CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp)
 
 import sys
 sys.exit(test.run())
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 8e55dc677efe6e3496947775f3b841a07ed79cc2..e216367b5daf148533d0ab96ff671775f5ab5f10 100755
--- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py
+++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py
@@ -33,12 +33,12 @@ msgcount.info_threshold = 1200
 msgcount.other_threshold = 100
 msgcount.required = True # make the test exit code depend on this step
 
-
-# Overwrite default RegTest settings
-regtest = test.get_step('RegTest')
-regtest.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*'
-regtest.reference = 'TriggerTest/ref_data_v1Dev_build.ref'
-regtest.required = True # Final exit code depends on this step
+# Add a step comparing counts in the log against reference
+refcomp = CheckSteps.RegTestStep("CountRefComp")
+refcomp.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*'
+refcomp.reference = 'TriggerTest/ref_data_v1Dev_build.ref'
+refcomp.required = True # Final exit code depends on this step
+CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp)
 
 import sys
 sys.exit(test.run())