diff --git a/Data/Text/Encoding.hs b/Data/Text/Encoding.hs
index 2ed7eccba5d377d7cb33cabe0e6e690aee4ed3d2..d8f07425259736d7a98f57e6ed322a001925bb0f 100644
--- a/Data/Text/Encoding.hs
+++ b/Data/Text/Encoding.hs
@@ -81,7 +81,7 @@ import Data.ByteString.Internal as B hiding (c2w)
 #if MIN_VERSION_bytestring(0,10,4)
 import Data.Monoid ((<>))
 import qualified Data.ByteString.Builder as B
-import qualified Data.ByteString.Builder.Internal as B
+import qualified Data.ByteString.Builder.Internal as B hiding (empty)
 import qualified Data.ByteString.Builder.Prim as BP
 import qualified Data.ByteString.Builder.Prim.Internal as BP
 import qualified Data.ByteString.Lazy as BL
@@ -387,7 +387,7 @@ encodeUtf8BuilderEscaped be =
 
 encodeUtf8 = encodeUtf8_0
 
-encodeUtf8_0, encodeUtf8_1 :: Text -> ByteString
+encodeUtf8_0 :: Text -> ByteString
 encodeUtf8_0 (Text arr off len) = unsafeDupablePerformIO $ do
   let size0 = max len 4
   mallocByteString size0 >>= start size0 off 0
@@ -431,6 +431,9 @@ encodeUtf8_0 (Text arr off len) = unsafeDupablePerformIO $ do
                   poke8 (m+2) $ (w .&. 0x3F) + 0x80
                   go (n+1) (m+3)
 
+#endif
+
+encodeUtf8_1 :: Text -> ByteString
 encodeUtf8_1 (Text arr off len)
   | len == 0  = B.empty
   | otherwise = unsafeDupablePerformIO $ do
@@ -504,8 +507,6 @@ encodeUtf8_1 (Text arr off len)
                     go4 (n+2) (m+4) fp ptr
     hot n0 m0
 
-#endif
-
 -- | Decode text from little endian UTF-16 encoding.
 decodeUtf16LEWith :: OnDecodeError -> ByteString -> Text
 decodeUtf16LEWith onErr bs = F.unstream (E.streamUtf16LE onErr bs)