diff --git a/libraries/base/src/GHC/JS/Foreign/Callback.hs b/libraries/base/src/GHC/JS/Foreign/Callback.hs
index e40c9257b42ecdde8906ab045bb8569508510cd8..441ac2f42dfea70669431e62cfa309337df7342a 100644
--- a/libraries/base/src/GHC/JS/Foreign/Callback.hs
+++ b/libraries/base/src/GHC/JS/Foreign/Callback.hs
@@ -145,5 +145,5 @@ foreign import javascript unsafe "(($1, $2) => { return h$makeCallbackApply($1,
 foreign import javascript unsafe "(($1, $2) => { return h$makeCallbackApply($1, h$runSyncReturn, [false], $2); })"
   js_syncCallbackApplyReturn :: Int -> Exts.Any -> IO (Callback b)
 
-foreign import javascript unsafe "(($1) => { return h$release($1); })"
+foreign import javascript unsafe "h$release"
   js_release :: Callback a -> IO ()
diff --git a/libraries/base/src/GHC/JS/Prim.hs b/libraries/base/src/GHC/JS/Prim.hs
index 7b92c6160d72a910fac857800133bcc8b145cf03..3101fd708786f39030da5b7c34958a1d4d929e83 100644
--- a/libraries/base/src/GHC/JS/Prim.hs
+++ b/libraries/base/src/GHC/JS/Prim.hs
@@ -259,16 +259,16 @@ seqList xs = go xs `seq` xs
   where go (y:ys) = y `seq` go ys
         go []     = ()
 
-foreign import javascript unsafe "(($1) => { return h$toHsString($1); })"
+foreign import javascript unsafe "h$toHsString"
   js_fromJSString :: JSVal -> Exts.Any
 
-foreign import javascript unsafe "(($1) => { return h$fromHsString($1); })"
+foreign import javascript unsafe "h$fromHsString"
   js_toJSString :: Exts.Any -> JSVal
 
-foreign import javascript unsafe "(($1) => { return h$toHsListJSVal($1); })"
+foreign import javascript unsafe "h$toHsListJSVal"
   js_fromJSArray :: JSVal -> IO Exts.Any
 
-foreign import javascript unsafe "(($1) => { return h$fromHsListJSVal($1); })"
+foreign import javascript unsafe "h$fromHsListJSVal"
   js_toJSArray :: Exts.Any -> IO JSVal
 
 foreign import javascript unsafe "(($1) => { return ($1 === null); })"
diff --git a/libraries/base/src/GHC/JS/Prim/Internal.hs b/libraries/base/src/GHC/JS/Prim/Internal.hs
index be8dd630402aa8f7c0d6b9cb95b6e10cf6097adb..e39e8e578807c7a606eb47ce9855386566df129c 100644
--- a/libraries/base/src/GHC/JS/Prim/Internal.hs
+++ b/libraries/base/src/GHC/JS/Prim/Internal.hs
@@ -43,14 +43,14 @@ foreign import javascript unsafe
   js_setCurrentThreadResultWouldBlock :: IO ()
 
 foreign import javascript unsafe
-  "(($1) => { return h$setCurrentThreadResultJSException($1); })"
+  "h$setCurrentThreadResultJSException"
   js_setCurrentThreadResultJSException :: JSVal -> IO ()
 
 foreign import javascript unsafe
-  "(($1) => { return h$setCurrentThreadResultHaskellException($1); })"
+  "h$setCurrentThreadResultHaskellException"
   js_setCurrentThreadResultHaskellException :: JSVal -> IO ()
 
 foreign import javascript unsafe
-  "(($1) => { return h$setCurrentThreadResultValue($1); })"
+  "h$setCurrentThreadResultValue"
   js_setCurrentThreadResultValue :: JSVal -> IO ()
 
diff --git a/libraries/base/src/System/Posix/Internals.hs b/libraries/base/src/System/Posix/Internals.hs
index 37ec373c203b213bcc69055d1513402ec117e01c..08c0614c859b8c2093db8165c28ebe4fd403e0bd 100644
--- a/libraries/base/src/System/Posix/Internals.hs
+++ b/libraries/base/src/System/Posix/Internals.hs
@@ -504,7 +504,7 @@ foreign import ccall unsafe "HsBase.h __hscore_lstat"
 
 #if defined(javascript_HOST_ARCH)
 
-foreign import javascript unsafe "(() => { return rts_isThreaded; })" rtsIsThreaded_ :: Int
+foreign import javascript unsafe "h$rts_isThreaded" rtsIsThreaded_ :: Int
 foreign import javascript interruptible "h$base_access"
     c_access :: CString -> CInt -> IO CInt
 foreign import javascript interruptible "h$base_chmod"
diff --git a/rts/js/config.js b/rts/js/config.js
new file mode 100644
index 0000000000000000000000000000000000000000..2c60c0744f3da7793063bb4800daf9439f0bb24b
--- /dev/null
+++ b/rts/js/config.js
@@ -0,0 +1,21 @@
+function h$rts_isThreaded() {
+  return 0;
+}
+  
+function h$rts_isTracing() {
+  return 0;
+}
+
+function h$rts_isDynamic() {
+  return 0;
+}
+
+function h$rts_isDebugged() {
+  return 0;
+}
+
+function h$rts_isProfiled() {
+  return 0;
+}
+
+  
\ No newline at end of file
diff --git a/rts/js/thread.js b/rts/js/thread.js
index 23e9fbfbc55af3647dc869450f6727d562037716..6a43ceef2b9f42184df2c8697c36ab985636bab3 100644
--- a/rts/js/thread.js
+++ b/rts/js/thread.js
@@ -1460,5 +1460,3 @@ function h$makeMVarListener(mv, stopProp, stopImmProp, preventDefault) {
 function h$rs() {
   return h$stack[h$sp];
 }
-
-const rts_isThreaded = 0;
diff --git a/rts/rts.cabal b/rts/rts.cabal
index aa50ff72a4923a172688cd6749ae9b050a2e4200..23901437d7ff913798c9d3ac247d718abb0ab64c 100644
--- a/rts/rts.cabal
+++ b/rts/rts.cabal
@@ -99,6 +99,7 @@ library
       c-sources: version.c
 
       js-sources:
+        js/config.js
         js/structs.js
         js/arith.js
         js/compact.js