diff --git a/Codec/Archive/Tar/Unpack.hs b/Codec/Archive/Tar/Unpack.hs
--- a/Codec/Archive/Tar/Unpack.hs
+++ b/Codec/Archive/Tar/Unpack.hs
@@ -32,7 +32,7 @@
          ( setModificationTime )
 import Data.Time.Clock.POSIX
          ( posixSecondsToUTCTime )
-import Control.Exception
+import Control.Exception as Exception
          ( catch )
 import System.IO.Error
          ( isPermissionError )
@@ -117,7 +117,8 @@
 -- functionality only supported as of directory-1.2.3.x
 setModTime path t =
     setModificationTime path (posixSecondsToUTCTime (fromIntegral t))
-      `catch` \e -> if isPermissionError e then return () else throwIO e
+      `Exception.catch` \e ->
+        if isPermissionError e then return () else throwIO e
 #else
 setModTime _path _t = return ()
 #endif
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+0.5.0.2 Duncan Coutts <duncan@community.haskell.org> April 2016
+
+  * Fix compatability when using ghc-7.4.x and directory >= 1.2.3
+
 0.5.0.1 Duncan Coutts <duncan@community.haskell.org> January 2016
 
   * Fix compatability with directory-1.2.3+
diff --git a/tar.cabal b/tar.cabal
--- a/tar.cabal
+++ b/tar.cabal
@@ -1,5 +1,5 @@
 name:            tar
-version:         0.5.0.1
+version:         0.5.0.2
 license:         BSD3
 license-file:    LICENSE
 author:          Duncan Coutts <duncan@community.haskell.org>
