diff --git a/System/Posix/Terminal.hsc b/System/Posix/Terminal.hsc
index 565766279b8f82e771b071cab9f74867db0ad2a2..b00c6d6c854d34cca1fc9fb69b4081e4f6bc6e09 100644
--- a/System/Posix/Terminal.hsc
+++ b/System/Posix/Terminal.hsc
@@ -77,6 +77,7 @@ import Foreign
 import Foreign.C
 import System.Posix.Terminal.Common
 import System.Posix.Types
+import System.Posix.IO
 
 #if __GLASGOW_HASKELL__ > 700
 import System.Posix.Internals (withFilePath, peekFilePath)
diff --git a/System/Posix/Terminal/ByteString.hsc b/System/Posix/Terminal/ByteString.hsc
index a75c37a6697ebc0fbb082cf73bfe45bfd2c0ffb7..1b1845c93a6a01843ad295139f1d64e6d2a639bf 100644
--- a/System/Posix/Terminal/ByteString.hsc
+++ b/System/Posix/Terminal/ByteString.hsc
@@ -76,6 +76,8 @@ module System.Posix.Terminal.ByteString (
 import Foreign
 import System.Posix.Types
 import System.Posix.Terminal.Common
+import System.Posix.IO.ByteString
+import Data.ByteString.Char8 as B
 
 import Foreign.C hiding (
      throwErrnoPath,
@@ -153,7 +155,7 @@ foreign import ccall unsafe "openpty"
             -> IO CInt
 #else
 openPseudoTerminal = do
-  (Fd master) <- openFd "/dev/ptmx" ReadWrite Nothing
+  (Fd master) <- openFd (B.pack "/dev/ptmx") ReadWrite Nothing
                         defaultFileFlags{noctty=True}
   throwErrnoIfMinus1_ "openPseudoTerminal" (c_grantpt master)
   throwErrnoIfMinus1_ "openPseudoTerminal" (c_unlockpt master)