diff --git a/jsaddle-webkit2gtk.cabal b/jsaddle-webkit2gtk.cabal
--- a/jsaddle-webkit2gtk.cabal
+++ b/jsaddle-webkit2gtk.cabal
@@ -1,5 +1,5 @@
 name: jsaddle-webkit2gtk
-version: 0.9.0.0
+version: 0.9.4.0
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
@@ -30,13 +30,14 @@
         base <5,
         bytestring >=0.10.6.0 && <0.11,
         directory >=1.0.0.2 && <1.4,
-        gi-glib >=2.0.6 && <2.1,
-        gi-gio >=2.0.6 && <2.1,
-        gi-gtk >=3.0.6 && <3.1,
-        gi-webkit2 >=4.0.6 && <4.1,
-        gi-javascriptcore >=4.0.6 && <4.1,
+        gi-glib >=2.0.14 && <2.1,
+        gi-gio >=2.0.14 && <2.1,
+        gi-gtk >=3.0.17 && <3.1,
+        gi-webkit2 >=4.0.14 && <4.1,
+        gi-javascriptcore >=4.0.14 && <4.1,
         haskell-gi-base >=0.20 && <0.21,
-        jsaddle >=0.9.0.0 && <0.10,
+        haskell-gi-overloading ==0.0.*,
+        jsaddle >=0.9.4.0 && <0.10,
         text >=1.2.1.3 && <1.3,
         webkit2gtk3-javascriptcore >=0.14.0.0 && <0.15
     if !os(windows)
diff --git a/src/Language/Javascript/JSaddle/WebKitGTK.hs b/src/Language/Javascript/JSaddle/WebKitGTK.hs
--- a/src/Language/Javascript/JSaddle/WebKitGTK.hs
+++ b/src/Language/Javascript/JSaddle/WebKitGTK.hs
@@ -206,9 +206,7 @@
     , initState
     , "\nreturn function(batch) {\n"
     , runBatch (\a -> "window.webkit.messageHandlers.jsaddle.postMessage(JSON.stringify(" <> a <> "));\n")
-               Nothing
-               -- TODO fix https://github.com/haskell-gi/haskell-gi/issues/97 then use
-               -- (Just (\a -> "JSON.parse(window.prompt(\"JSaddleSync\", JSON.stringify(" <> a <> ")))"))
+               (Just (\a -> "JSON.parse(window.prompt(\"JSaddleSync\", JSON.stringify(" <> a <> ")))"))
     , "};\n"
     , "})()"
     ]
