diff --git a/Blaze/ByteString/Builder/HTTP.hs b/Blaze/ByteString/Builder/HTTP.hs
--- a/Blaze/ByteString/Builder/HTTP.hs
+++ b/Blaze/ByteString/Builder/HTTP.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE BangPatterns, CPP, MagicHash, OverloadedStrings, MonoPatBinds #-}
 -- | Support for HTTP response encoding.
 --
--- TODO: Cleanup!
+-- TODO: Improve documentation.
 module Blaze.ByteString.Builder.HTTP (
   -- * Chunked HTTP transfer encoding
     chunkedTransferEncoding
@@ -9,13 +9,15 @@
   ) where
 
 import Data.Monoid
-import qualified Data.ByteString as S
+import qualified Data.ByteString       as S
+import Data.ByteString.Char8 ()
 
 import Foreign
 
 import Blaze.ByteString.Builder.Internal
 import Blaze.ByteString.Builder.Internal.Types
 import Blaze.ByteString.Builder.Internal.UncheckedShifts
+import Blaze.ByteString.Builder.ByteString (copyByteString)
 
 import qualified Blaze.ByteString.Builder.Char8 as Char8
 
@@ -203,8 +205,7 @@
             chunkSizeLength = word32HexLength $ fromIntegral outRemaining
       
 
--- | The '0\r\n' chunk header signaling the termination of the data transfer.
+-- | The zero-length chunk '0\r\n\r\n' signaling the termination of the data transfer.
 chunkedTransferTerminator :: Builder
-chunkedTransferTerminator = 
-  fromWrite $ Char8.writeChar '0' `mappend` writeCRLF
+chunkedTransferTerminator = copyByteString "0\r\n\r\n"
 
diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+* 0.2.1.3
+
+  - Fixed bug: 'chunkedTransferTerminator' is now correctly set to "0\r\n\r\n".
+
 * 0.2.1.2
 
   - Add 'MonoPatBinds' language extension to all relevant files to solve the
diff --git a/blaze-builder.cabal b/blaze-builder.cabal
--- a/blaze-builder.cabal
+++ b/blaze-builder.cabal
@@ -1,5 +1,5 @@
 Name:                blaze-builder
-Version:             0.2.1.2
+Version:             0.2.1.3
 Synopsis:            Efficient buffered output.
 
 Description:         
