diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+0.3.4.8
+	* Make bytestring-builder's installation conditional based on a Cabal flag.
+
 0.3.4.7
 	* Unconditionally export Data.ByteString.Builder.Scientific.
 	  The bytestring-builder cabal flag has been removed.
diff --git a/scientific.cabal b/scientific.cabal
--- a/scientific.cabal
+++ b/scientific.cabal
@@ -1,5 +1,5 @@
 name:                scientific
-version:             0.3.4.7
+version:             0.3.4.8
 synopsis:            Numbers represented using scientific notation
 description:
   @Data.Scientific@ provides the number type 'Scientific'. Scientific numbers are
@@ -49,6 +49,11 @@
   type:     git
   location: git://github.com/basvandijk/scientific.git
 
+flag bytestring-builder
+  description: Depend on the bytestring-builder package for backwards compatibility.
+  default:     False
+  manual:      False
+
 flag integer-simple
   description: Use the integer-simple package instead of integer-gmp
   default:     False
@@ -64,7 +69,6 @@
   other-extensions:    DeriveDataTypeable, BangPatterns
   ghc-options:         -Wall
   build-depends:       base        >= 4.3   && < 4.10
-                     , bytestring  >= 0.9    && < 0.11
                      , ghc-prim
                      , deepseq     >= 1.3   && < 1.5
                      , text        >= 0.8   && < 1.3
@@ -73,8 +77,11 @@
                      , containers  >= 0.1   && < 0.6
                      , binary      >= 0.4.1 && < 0.9
 
-  if !impl(ghc >= 7.8)
-      build-depends: bytestring-builder >= 0.10.4 && < 0.11
+  if flag(bytestring-builder)
+      build-depends: bytestring         >= 0.9    && < 0.10.4
+                   , bytestring-builder >= 0.10.4 && < 0.11
+  else
+      build-depends: bytestring         >= 0.10.4 && < 0.11
 
   if flag(integer-simple)
       build-depends: integer-simple
@@ -94,7 +101,6 @@
 
   build-depends: scientific
                , base             >= 4.3   && < 4.10
-               , bytestring       >= 0.9   && < 0.11
                , binary           >= 0.4.1 && < 0.9
                , tasty            >= 0.5   && < 0.12
                , tasty-ant-xml    >= 1.0   && < 1.1
@@ -105,8 +111,11 @@
                , QuickCheck       >= 2.5   && < 2.9
                , text             >= 0.8   && < 1.3
 
-  if !impl(ghc >= 7.8)
-      build-depends: bytestring-builder >= 0.10.4 && < 0.11
+  if flag(bytestring-builder)
+      build-depends: bytestring         >= 0.9    && < 0.10.4
+                   , bytestring-builder >= 0.10.4 && < 0.11
+  else
+      build-depends: bytestring         >= 0.10.4 && < 0.11
 
 benchmark bench-scientific
   type:             exitcode-stdio-1.0
