diff --git a/src/Data/Url.hs b/src/Data/Url.hs
--- a/src/Data/Url.hs
+++ b/src/Data/Url.hs
@@ -413,12 +413,10 @@
 getPathChunks :: Path base type' -> V.Vector T.Text
 getPathChunks path = V.fromList $ fmap T.pack $ splitOn "/" $ dropWhile (== '/') (toFilePath path)
 
-getLocationChunks :: Location base type' -> V.Vector T.Text
-getLocationChunks loc = V.fromList $ fmap T.pack $ splitOn "/" $ dropWhile (== '/') (show loc)
-
 packLocation :: Strict.Maybe T.Text -> Bool -> URIAuth -> Location base type' -> URI
 packLocation scheme slashes auth loc =
-  URI scheme slashes auth (getLocationChunks loc)
+  URI scheme slashes auth
+    (getPathChunks $ locPath loc)
     ( V.fromList
         $ map (\(l,r) ->
             (T.pack l) Strict.:!:
diff --git a/urlpath.cabal b/urlpath.cabal
--- a/urlpath.cabal
+++ b/urlpath.cabal
@@ -1,5 +1,5 @@
 Name:                   urlpath
-Version:                7.1.0
+Version:                8.0.0
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                MIT
@@ -17,7 +17,7 @@
   GHC-Options:          -Wall
   Exposed-Modules:      Data.Url
   Build-Depends:        base >= 4.8 && < 5
-                      , attoparsec-uri >= 0.0.2
+                      , attoparsec-uri >= 0.0.4
                       , exceptions
                       , mmorph
                       , monad-control
