diff --git a/libraries/template-haskell/tests/all.T b/libraries/template-haskell/tests/all.T
index 716742a20ca6358b8f1dfc906ca63b9c13b41824..1d48d411d063f9eec87f49a470b5017ae2fb7d03 100644
--- a/libraries/template-haskell/tests/all.T
+++ b/libraries/template-haskell/tests/all.T
@@ -1,2 +1,2 @@
 # difficult to test TH with profiling, because we have to build twice
-test('dataToExpQUnit', omit_ways(prof_ways), compile, ['-v0'])
+test('dataToExpQUnit', [omit_ways(prof_ways), req_interp], compile, ['-v0'])
diff --git a/testsuite/tests/quasiquotation/qq005/test.T b/testsuite/tests/quasiquotation/qq005/test.T
index 4e381380a85813cf30883eeac4c3b9c22ab27244..6e7ec8d14cc344d98a7c380155cc5334f4f35ce2 100644
--- a/testsuite/tests/quasiquotation/qq005/test.T
+++ b/testsuite/tests/quasiquotation/qq005/test.T
@@ -5,6 +5,7 @@ test('qq005',
       # profiling ways, due to the TH use, so for now we just
       # omit the profiling ways
       omit_ways(prof_ways),
-      extra_clean(['Expr.hi', 'Expr.o', 'Main.hi', 'Main.o'])],
+      extra_clean(['Expr.hi', 'Expr.o', 'Main.hi', 'Main.o']),
+      req_interp],
 	multimod_compile_and_run,
 	['Main', ''])
diff --git a/testsuite/tests/quasiquotation/qq006/test.T b/testsuite/tests/quasiquotation/qq006/test.T
index a76cd7064fb7bd4613149cbcef90c20450283d22..13e6530753fc3be42eb215f1a1cfc382cf748799 100644
--- a/testsuite/tests/quasiquotation/qq006/test.T
+++ b/testsuite/tests/quasiquotation/qq006/test.T
@@ -1,3 +1,4 @@
 test('qq006', [extra_files(['Expr.hs', 'Main.hs']),
-               when(fast(), skip)], multimod_compile_fail,
+               when(fast(), skip),
+               req_interp], multimod_compile_fail,
      ['Main', '-v0'])
diff --git a/testsuite/tests/quasiquotation/qq007/test.T b/testsuite/tests/quasiquotation/qq007/test.T
index edb355419094936908b69c8aaec68fd61552a1f1..7e8251a6576676c94da53649ecc471336acb7e72 100644
--- a/testsuite/tests/quasiquotation/qq007/test.T
+++ b/testsuite/tests/quasiquotation/qq007/test.T
@@ -1,5 +1,6 @@
 test('qq007',
      [extra_files(['QQ.hs', 'Test.hs']),
       when(fast(), skip), pre_cmd('$MAKE -s --no-print-directory TH_QQ'),
-      omit_ways(prof_ways)],
+      omit_ways(prof_ways),
+      req_interp],
      multimod_compile, ['Test', '-v0 ' + config.ghc_th_way_flags])
diff --git a/testsuite/tests/quasiquotation/qq008/test.T b/testsuite/tests/quasiquotation/qq008/test.T
index 9d83f34907a93c42c0760d9b8c8a9e85edb274b4..d17ce0deb5b69bc7108f36eb5a586a0641bbce27 100644
--- a/testsuite/tests/quasiquotation/qq008/test.T
+++ b/testsuite/tests/quasiquotation/qq008/test.T
@@ -1,5 +1,6 @@
 test('qq008',
      [extra_files(['QQ.hs', 'Test.hs']),
       when(fast(), skip), pre_cmd('$MAKE -s --no-print-directory TH_QQ'),
-      omit_ways(prof_ways)],
+      omit_ways(prof_ways),
+      req_interp],
      multimod_compile, ['Test', '-v0 ' + config.ghc_th_way_flags])
diff --git a/testsuite/tests/quasiquotation/qq009/test.T b/testsuite/tests/quasiquotation/qq009/test.T
index 1f108a626e0fd0550fbbfb7b5a1353c7ba509113..2dfb976298fa3f0edff6c4522407c0b776824bd6 100644
--- a/testsuite/tests/quasiquotation/qq009/test.T
+++ b/testsuite/tests/quasiquotation/qq009/test.T
@@ -1,5 +1,6 @@
 test('qq009',
      [extra_files(['QQ.hs', 'Test.hs']),
       when(fast(), skip), pre_cmd('$MAKE -s --no-print-directory TH_QQ'),
-      omit_ways(prof_ways)],
+      omit_ways(prof_ways),
+      req_interp],
      multimod_compile, ['Test', '-v0 ' + config.ghc_th_way_flags])
diff --git a/testsuite/tests/th/should_compile/T13949/all.T b/testsuite/tests/th/should_compile/T13949/all.T
index 193b06f67dc38fa457f0ffc435d3f5e758b0e863..edd3fe5c9fa04177b210362edd4e88440466ed34 100644
--- a/testsuite/tests/th/should_compile/T13949/all.T
+++ b/testsuite/tests/th/should_compile/T13949/all.T
@@ -7,6 +7,6 @@
 #       (1) Use -fexternal-interpreter, or
 #       (2) Build the program twice: once with -dynamic, and then
 #           with -prof using -osuf to set a different object file suffix.
-test('T13949', [extra_files(['ASCII.hs', 'PatternGenerator.hs', 'These.hs', 'Tree.hs']),
+test('T13949', [extra_files(['ASCII.hs', 'PatternGenerator.hs', 'These.hs', 'Tree.hs']), req_interp,
 	        omit_ways(['profasm'])],
-     multimod_compile, ['ASCII PatternGenerator These Tree', '-fno-code -v0'])
\ No newline at end of file
+     multimod_compile, ['ASCII PatternGenerator These Tree', '-fno-code -v0'])
diff --git a/testsuite/tests/th/should_compile/T8025/all.T b/testsuite/tests/th/should_compile/T8025/all.T
index 2eb42ac740e9c6ec16bb2dfcec14a0a1eb109dd7..4cdf19cae8ebe08728bad69b5a5beb5ab6b3a524 100644
--- a/testsuite/tests/th/should_compile/T8025/all.T
+++ b/testsuite/tests/th/should_compile/T8025/all.T
@@ -5,5 +5,5 @@
 #       (1) Use -fexternal-interpreter, or
 #       (2) Build the program twice: once with -dynamic, and then
 #           with -prof using -osuf to set a different object file suffix.
-test('T8025', [extra_files(['A.hs', 'B.hs']), omit_ways(['profasm'])],
-	      multimod_compile, ['A B', '-fno-code -v0'])
\ No newline at end of file
+test('T8025', [extra_files(['A.hs', 'B.hs']), omit_ways(['profasm']), req_interp],
+	      multimod_compile, ['A B', '-fno-code -v0'])