diff --git a/Text/URI.hs b/Text/URI.hs
--- a/Text/URI.hs
+++ b/Text/URI.hs
@@ -295,7 +295,7 @@
 	return (authorityV, pathV)
 
 -- Path parser
-pathP = pathRootlessP <|> pathAbsoluteP <|> pathNoSchemeP <|> pathABEmptyP <|> pathEmptyP
+pathP = (try pathRootlessP) <|> try pathAbsoluteP <|> try pathNoSchemeP <|> try pathABEmptyP <|> try pathEmptyP
 
 pathABEmptyP = do
 	segs <- many $ do
@@ -344,7 +344,7 @@
 		portP)
 	return (userinfoV, Just hostV, portV)
 
-hostP = ipLiteralP <|> ipv4AddressP <|> regNameP
+hostP = ipLiteralP <|> try ipv4AddressP <|> regNameP
 
 -- ip v6+ parser
 ipLiteralP = do
diff --git a/uri.cabal b/uri.cabal
--- a/uri.cabal
+++ b/uri.cabal
@@ -1,5 +1,5 @@
 Name: uri
-Version: 0.1.5
+Version: 0.1.6
 Synopsis: Library for working with URIs
 Category: Text
 Description: Library for working with URIs, including parsing, rendering, merging, escaping
