diff --git a/System/Console/Haskeline/Backend/Win32.hsc b/System/Console/Haskeline/Backend/Win32.hsc
index dc003d8000a7e2c5168abbfc9e314e254076a40c..e3663c83a6c33f9b4c812756ce1a5dbd61f93e7f 100644
--- a/System/Console/Haskeline/Backend/Win32.hsc
+++ b/System/Console/Haskeline/Backend/Win32.hsc
@@ -361,8 +361,8 @@ win32Term = do
                                 , withGetEvent = withWindowMode hs
                                                     . win32WithEvent hs ch
                                 , saveUnusedKeys = saveKeys ch
-                                , runTerm = \(RunTermType f) ->
-                                        runReaderT' hs $ runDraw f
+                                , evalTerm = EvalTerm (runReaderT' hs . runDraw)
+                                                    (Draw . lift)
                                 },
                             closeTerm = closeHandles hs
                         }
diff --git a/haskeline.cabal b/haskeline.cabal
index 244bef94d9bb0c8b8ab2a2fecbc2a4b75cad68c5..4a1dfc4e332a0b3dfd58392e3c600b121ef899e2 100644
--- a/haskeline.cabal
+++ b/haskeline.cabal
@@ -91,6 +91,8 @@ Library
 
     if impl(ghc>=7.4) {
         cpp-options: -DUSE_GHC_ENCODINGS
+    } else {
+        Build-depends: utf8-string==0.3.* && >=0.3.6
     }
     if os(windows) {
         Build-depends: Win32>=2.0
@@ -100,9 +102,8 @@ Library
         install-includes: win_console.h
         cpp-options: -DMINGW
     } else {
-        Build-depends: unix>=2.0 && < 2.6,
+        Build-depends: unix>=2.0 && < 2.6
                         -- unix-2.3 doesn't build on ghc-6.8.1 or earlier
-                       utf8-string==0.3.* && >=0.3.6
         c-sources: cbits/h_iconv.c
         includes: h_iconv.h
         install-includes: h_iconv.h