diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,3 @@
+#### 1.5.0.3
+
+* Use `network-uri` instead of `network` when possible
diff --git a/src/Network/URI/Encode.hs b/src/Network/URI/Encode.hs
--- a/src/Network/URI/Encode.hs
+++ b/src/Network/URI/Encode.hs
@@ -112,19 +112,27 @@
 -- \>= 2.4, this is the identity, since that correctly handles unicode
 -- characters.
 fixUtf8 :: String -> String
+#ifdef MIN_VERSION_network
 #if MIN_VERSION_network(2,4,0)
 fixUtf8 = id
 #else
 fixUtf8 = U.unpack . U.fromString
 #endif
+#else
+fixUtf8 = id
+#endif
 
 -- | "Unfix" a String again. For network \>= 2.4.1.1 this is the
 -- identity, since that correctly handles unicode characters. Note
 -- that network 2.4.1.0 (one that is still broken) cannot be excluded
 -- by CPP, so this version is excluded in the cabal dependencies.
 unfixUtf8 :: String -> String
+#ifdef MIN_VERSION_network
 #if MIN_VERSION_network(2,4,1)
 unfixUtf8 = id
 #else
 unfixUtf8 = U.toString . U.pack
+#endif
+#else
+unfixUtf8 = id
 #endif
diff --git a/uri-encode.cabal b/uri-encode.cabal
--- a/uri-encode.cabal
+++ b/uri-encode.cabal
@@ -1,60 +1,79 @@
-Name:               uri-encode
-Version:            1.5.0.2
-Description:        Unicode aware uri-encoding.
-Synopsis:           Unicode aware uri-encoding.
-Cabal-version:      >= 1.8
-Category:           Network, Web
-Author:             Silk
-Maintainer:         code@silk.co
-License:            OtherLicense
-License-File:       LICENSE
-Build-Type:         Simple
-Extra-Source-Files: README.md
+name:                uri-encode
+version:             1.5.0.3
+description:         Unicode aware uri-encoding.
+synopsis:            Unicode aware uri-encoding.
+cabal-version:       >= 1.8
+category:            Network, Web
+author:              Silk
+maintainer:          code@silk.co
+license:             OtherLicense
+license-file:        LICENSE
+build-type:          Simple
 
-Flag tools
-  Default: False
+extra-source-files:
+  CHANGELOG.md
+  LICENSE
+  README.md
 
-Library
-  GHC-Options:      -Wall
-  HS-Source-Dirs:   src
+flag tools
+  description:       Build executables
+  default:           False
+  manual:            True
 
-  Build-Depends:    base ==4.*
-                  , bytestring >= 0.9 && < 0.11
-                  , network (>= 2.2 && < 2.4.1.0) || (> 2.4.1.0 && < 2.6)
-                  , text >=0.7 && < 1.2
-                  , utf8-string ==0.3.*
+flag network-uri
+  description:       Get Network.URI from the network-uri package
+  default:           True
 
-  Exposed-Modules: Network.URI.Encode
+source-repository head
+  type:              git
+  location:          https://github.com/silkapp/uri-encode.git
 
+library
+  ghc-options:       -Wall
+  hs-source-dirs:    src
+  exposed-modules:   Network.URI.Encode
+  build-depends:
+      base == 4.*
+    , bytestring >= 0.9 && < 0.11
+    , text >=0.7 && < 1.2
+    , utf8-string ==0.3.*
+  if flag(network-uri)
+    build-depends: network-uri >= 2.6
+  else
+    build-depends: network (>= 2.2 && < 2.4.1.0) || (> 2.4.1.0 && < 2.6)
 
-Executable          uri-encode
+executable uri-encode
+  main-is:           URIEncode.hs
+  ghc-options:       -Wall
+  hs-source-dirs:    src
   if flag(tools)
-    Buildable:      True
-    Build-Depends:    base ==4.*
-                    , bytestring >= 0.9 && < 0.11
-                    , network (>= 2.2 && < 2.4.1.0) || (> 2.4.1.0 && < 2.6)
-                    , text >=0.7 && < 1.2
-                    , utf8-string ==0.3.*
+    buildable:       True
+    build-depends:
+        base == 4.*
+      , bytestring >= 0.9 && < 0.11
+      , text >= 0.7 && < 1.2
+      , utf8-string == 0.3.*
+    if flag(network-uri)
+      build-depends: network-uri >= 2.6
+    else
+      build-depends: network (>= 2.2 && < 2.4.1.0) || (> 2.4.1.0 && < 2.6)
   else
-    Buildable:      False
-  Main-is:          URIEncode.hs
-  GHC-Options:      -Wall
-  HS-Source-Dirs:   src
+    buildable:      False
 
-Executable          uri-decode
+executable uri-decode
+  main-is:           URIDecode.hs
+  ghc-options:       -Wall
+  hs-source-dirs:    src
   if flag(tools)
-    Buildable:      True
-    Build-Depends:    base ==4.*
-                    , bytestring >= 0.9 && < 0.11
-                    , network (>= 2.2 && < 2.4.1.0) || (> 2.4.1.0 && < 2.6)
-                    , text >=0.7 && < 1.2
-                    , utf8-string ==0.3.*
+    buildable:       True
+    build-depends:
+        base == 4.*
+      , bytestring >= 0.9 && < 0.11
+      , text >= 0.7 && < 1.2
+      , utf8-string == 0.3.*
+    if flag(network-uri)
+      build-depends: network-uri >= 2.6
+    else
+      build-depends: network (>= 2.2 && < 2.4.1.0) || (> 2.4.1.0 && < 2.6)
   else
-    Buildable:      False
-  Main-is:          URIDecode.hs
-  GHC-Options:      -Wall
-  HS-Source-Dirs:   src
-
-Source-Repository head
-  Type:             Git
-  Location:         https://github.com/silkapp/uri-encode.git
+    buildable:       False
