diff --git a/testsuite/config/ghc b/testsuite/config/ghc
index 2ad85dfbe31148277334beae902ac2d800153d55..ee3c34a11b1c4ba26f2d9041b65a25c3d92a3c7f 100644
--- a/testsuite/config/ghc
+++ b/testsuite/config/ghc
@@ -81,7 +81,6 @@ if not config.arch == "javascript":
 
 if config.arch == "wasm32":
     config.have_process = False
-    config.supports_dynamic_libs = False
 
 config.way_flags = {
     'normal'       : [],
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index 76dd54830203f494e9d9f0f21dd8610a29951a26..627f87bf82609eb1cbe3a3f10d7025d02c7b1a7b 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -256,11 +256,8 @@ def req_dynamic_ghc( name, opts ):
         skip(name,opts)
 
 def req_interp( name, opts ):
-    if not config.have_interp or needsTargetWrapper():
+    if not config.have_interp:
         opts.expect = 'fail'
-    # skip on wasm32, otherwise they show up as unexpected passes
-    if arch('wasm32'):
-        skip(name, opts)
 
 def req_bco( name, opts ):
     '''
diff --git a/testsuite/tests/driver/all.T b/testsuite/tests/driver/all.T
index 770306a7d74dc584b44b0644fba6d4be7b4614b7..ffc989b845762a488afdc461c57edbce50455b2e 100644
--- a/testsuite/tests/driver/all.T
+++ b/testsuite/tests/driver/all.T
@@ -126,7 +126,7 @@ test('static001', [extra_files(['Static001.hs']),
      makefile_test, ['static001'])
 
 test('dynHelloWorld',
-     [only_ways(['dyn']), when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))],
+     [only_ways(['dyn']), when(opsys('linux') and not ghc_dynamic() and not arch('wasm32'), expect_broken(20706))],
      compile_and_run,
      [''])