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
@@ -21,7 +21,7 @@
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Lazy as L
 import System.Posix.FilePath
-         ( (</>) )
+         ( (</>), normalise )
 import qualified System.Posix.FilePath as FilePath.Native
          ( takeDirectory )
 import           Control.Exception.Safe              ( Exception
@@ -90,7 +90,7 @@
       -- Note that tar archives do not make sure each directory is created
       -- before files they contain, indeed we may have to create several
       -- levels of directory.
-      createDirRecursive newDirPerms absDir
+      createDirRecursive newDirPerms (normalise absDir)
       writeFileL absPath (Just newFilePerms) content
       setModTime absPath mtime
       where
@@ -98,7 +98,7 @@
         absPath = baseDir </> path
 
     extractDir path mtime = do
-      createDirRecursive newDirPerms absPath
+      createDirRecursive newDirPerms (normalise absPath)
       setModTime absPath mtime
       where
         absPath = baseDir </> path
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
 See also http://pvp.haskell.org/faq
 
+0.6.1.3
+
+  * fix bug in 'unpack'
+
 0.6.1.2
 
   * fix hpath dependencies
diff --git a/tar-bytestring.cabal b/tar-bytestring.cabal
--- a/tar-bytestring.cabal
+++ b/tar-bytestring.cabal
@@ -1,5 +1,5 @@
 name:            tar-bytestring
-version:         0.6.1.2
+version:         0.6.1.3
 license:         BSD3
 license-file:    LICENSE
 author:          Duncan Coutts <duncan@community.haskell.org>
@@ -147,8 +147,9 @@
                  deepseq,
                  time,
                  criterion        >= 1.0,
-                 hpath-directory  >= 0.13   && < 0.14,
-                 hpath-filepath   >= 0.10.2 && < 0.11,
+                 hpath-directory  >= 0.13.1 && < 0.14,
+                 hpath-filepath   >= 0.10.4 && < 0.11,
+                 hpath-posix      >= 0.13.1 && < 0.14,
                  safe-exceptions  >= 0.1,
                  unix,
                  word8
