diff --git a/testsuite/tests/simplStg/should_compile/all.T b/testsuite/tests/simplStg/should_compile/all.T
index c2619b6a4c97c28a51e7d9104373f9104acf5813..4bff79965d7213251f3d00c0e4fac99dd7925413 100644
--- a/testsuite/tests/simplStg/should_compile/all.T
+++ b/testsuite/tests/simplStg/should_compile/all.T
@@ -18,7 +18,10 @@ test('T22212', normal, compile, ['-O'])
test('T22840', [extra_files(
[ 'T22840A.hs'
, 'T22840B.hs'
- ]), when(not(have_dynamic()),skip)], multimod_compile, ['T22840', '-dynamic-too -dtag-inference-checks'])
+ ]),
+ # barf signature mismatch on wasm32 due to -dtag-inference-checks
+ when(arch('wasm32'), skip),
+ when(not(have_dynamic()),skip)], multimod_compile, ['T22840', '-dynamic-too -dtag-inference-checks'])
test('inferTags003', [ only_ways(['optasm']),
grep_errmsg(r'(call stg\_ap\_0)', [1])
], compile, ['-ddump-cmm -dno-typeable-binds -O'])