diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 3.0.9.2
+
+Fix support for old versions of bytestring
+
 ## 3.0.9.1
 
 Add support for blaze-builder 0.4
diff --git a/warp.cabal b/warp.cabal
--- a/warp.cabal
+++ b/warp.cabal
@@ -1,5 +1,5 @@
 Name:                warp
-Version:             3.0.9.1
+Version:             3.0.9.2
 Synopsis:            A fast, light-weight web server for WAI applications.
 License:             MIT
 License-file:        LICENSE
@@ -26,6 +26,10 @@
     Description: print debug output. not suitable for production
     Default:     False
 
+Flag use-bytestring-builder
+    description: Use bytestring-builder package
+    default: False
+
 Library
   Build-Depends:     base                      >= 3        && < 5
                    , array
@@ -47,6 +51,11 @@
                    , network-bytestring        >= 0.1.3    && < 0.1.4
   else
       Build-Depends: network               >= 2.3
+  if flag(use-bytestring-builder)
+      Build-Depends: bytestring                < 0.10.2.0
+                   , bytestring-builder
+  else
+      Build-Depends: bytestring                >= 0.10.2.0
   Exposed-modules:   Network.Wai.Handler.Warp
                      Network.Wai.Handler.Warp.Buffer
                      Network.Wai.Handler.Warp.Timeout
@@ -134,6 +143,11 @@
                    , text
                    , streaming-commons         >= 0.1.10
                    , async
+  if flag(use-bytestring-builder)
+      Build-Depends: bytestring                < 0.10.2.0
+                   , bytestring-builder
+  else
+      Build-Depends: bytestring                >= 0.10.2.0
 
   if (os(linux) || os(freebsd) || os(darwin)) && flag(allow-sendfilefd)
     Cpp-Options:   -DSENDFILEFD
