diff --git a/System/Posix/Temp.hsc b/System/Posix/Temp.hsc
index bfbfee19d38608173e0465a3ffd33bc8585aa02e..9989ca07358e891ca241ac24c4d398df2ecb120e 100644
--- a/System/Posix/Temp.hsc
+++ b/System/Posix/Temp.hsc
@@ -25,7 +25,9 @@ module System.Posix.Temp (
import System.IO
import System.Posix.IO
import System.Posix.Types
+#if !defined(__GLASGOW_HASKELL__) && !defined(__HUGS__)
import System.Posix.Directory (createDirectory)
+#endif
import Foreign.C
#if __GLASGOW_HASKELL__ > 700
@@ -78,7 +80,7 @@ mkdtemp template' = do
let template = template' ++ "XXXXXX"
#if defined(__GLASGOW_HASKELL__) || defined(__HUGS__)
withFilePath template $ \ ptr -> do
- throwErrnoIfNull "mkdtemp" (c_mkdtemp ptr)
+ _ <- throwErrnoIfNull "mkdtemp" (c_mkdtemp ptr)
name <- peekFilePath ptr
return name
#else
diff --git a/System/Posix/Temp/ByteString.hsc b/System/Posix/Temp/ByteString.hsc
index 747961421607d349c02562ca5ebe08c83801dd96..a13e45a4e04d15bd006e9536cebb90c3d4e446f1 100644
--- a/System/Posix/Temp/ByteString.hsc
+++ b/System/Posix/Temp/ByteString.hsc
@@ -22,10 +22,12 @@ module System.Posix.Temp.ByteString (
#include "HsUnix.h"
-import System.IO ( Handle, openFile, IOMode(..) )
+import System.IO
import System.Posix.IO
import System.Posix.Types
+#if !defined(__GLASGOW_HASKELL__) && !defined(__HUGS__)
import System.Posix.Directory (createDirectory)
+#endif
import Foreign.C
@@ -69,7 +71,7 @@ mkdtemp template' = do
let template = template' `B.append` (BC.pack "XXXXXX")
#if defined(__GLASGOW_HASKELL__) || defined(__HUGS__)
withFilePath template $ \ ptr -> do
- throwErrnoIfNull "mkdtemp" (c_mkdtemp ptr)
+ _ <- throwErrnoIfNull "mkdtemp" (c_mkdtemp ptr)
name <- peekFilePath ptr
return name
#else