diff --git a/testsuite/tests/jsffi/jsffigc.hs b/testsuite/tests/jsffi/jsffigc.hs
index 7b0f89798ae7cd6c6889ad156730651be61a3210..1ad8ebe6ed91e3fc6d61c45231a3f8597b81fcf7 100644
--- a/testsuite/tests/jsffi/jsffigc.hs
+++ b/testsuite/tests/jsffi/jsffigc.hs
@@ -10,17 +10,16 @@ import System.Mem
 
 type BinOp a = a -> a -> a
 
-foreign import javascript "wrapper"
+foreign import javascript "wrapper sync"
   js_from_hs :: BinOp Int -> IO JSVal
 
--- This must be safe since we intend to call back into Haskell again.
-foreign import javascript safe "dynamic"
+foreign import javascript unsafe "dynamic"
   js_to_hs :: JSVal -> BinOp Int
 
 foreign import javascript "wrapper"
   js_mk_cont :: IO () -> IO JSVal
 
-foreign export javascript "testDynExportFree"
+foreign export javascript "testDynExportFree sync"
   testDynExportFree :: Int -> Int -> Int -> IO ()
 
 -- JSVal uses Weak# under the hood for garbage collection support,
diff --git a/testsuite/tests/jsffi/jsffigc.mjs b/testsuite/tests/jsffi/jsffigc.mjs
index 3178a8a83a050fd6257c0846e6a363a48cc30ab0..50401200e1011823d859259ba91b8edc1d9948b2 100644
--- a/testsuite/tests/jsffi/jsffigc.mjs
+++ b/testsuite/tests/jsffi/jsffigc.mjs
@@ -8,7 +8,7 @@ async function reallyGC() {
 }
 
 export default async (__exports) => {
-  await __exports.testDynExportFree(114, 514, 1919810);
+  __exports.testDynExportFree(114, 514, 1919810);
 
   const cont = await __exports.testDynExportGC(114, 514, 1919810);
   await reallyGC();
diff --git a/testsuite/tests/jsffi/textconv.hs b/testsuite/tests/jsffi/textconv.hs
index d7ca3581cc32738d555f9d203fe706c1adbb5163..a504f13a794e6c8023c911b1ebfcd4d011da8852 100644
--- a/testsuite/tests/jsffi/textconv.hs
+++ b/testsuite/tests/jsffi/textconv.hs
@@ -45,7 +45,7 @@ textToJSString (Text (ByteArray ba#) (I# off#) (I# len#)) = unsafeDupablePerform
     (# s1, mba# #) -> case copyByteArray# ba# off# mba# 0# len# s1 of
       s2 -> keepAlive# mba# s2 $ unIO $ js_to_str (Ptr (mutableByteArrayContents# mba#)) $ I# len#
 
-foreign export javascript "main"
+foreign export javascript "main sync"
   main :: IO ()
 
 main :: IO ()
diff --git a/testsuite/tests/jsffi/textconv.mjs b/testsuite/tests/jsffi/textconv.mjs
index 56ef3fdeef4cd0c529ccbe7ec12964ab0c794ce7..2319e7e1bcc6203fa0b0a6390ff015b745bc0180 100644
--- a/testsuite/tests/jsffi/textconv.mjs
+++ b/testsuite/tests/jsffi/textconv.mjs
@@ -1,3 +1,3 @@
-export default async (__exports) => {
-  await __exports.main();
+export default (__exports) => {
+  __exports.main();
 }