diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,8 @@
+0.10.8.1 Duncan Coutts <duncan@community.haskell.org> May 2016
+
+ * Fix Builder output on big-endian architectures
+ * Fix building with ghc-7.6 and older
+
 0.10.8.0 Duncan Coutts <duncan@community.haskell.org> May 2016
 
  * Use Rabin-Karp substring search for `breakSubstring` and `findSubstring`
diff --git a/Data/ByteString/Builder/Prim/Binary.hs b/Data/ByteString/Builder/Prim/Binary.hs
--- a/Data/ByteString/Builder/Prim/Binary.hs
+++ b/Data/ByteString/Builder/Prim/Binary.hs
@@ -83,7 +83,7 @@
 -- | Encoding 'Word16's in big endian format.
 {-# INLINE word16BE #-}
 word16BE :: FixedPrim Word16
-#ifdef WORD_BIGENDIAN
+#ifdef WORDS_BIGENDIAN
 word16BE = word16Host
 #else
 word16BE = fixedPrim 2 $ \w p -> do
@@ -94,7 +94,7 @@
 -- | Encoding 'Word16's in little endian format.
 {-# INLINE word16LE #-}
 word16LE :: FixedPrim Word16
-#ifdef WORD_BIGENDIAN
+#ifdef WORDS_BIGENDIAN
 word16LE = fixedPrim 2 $ \w p -> do
     poke p               (fromIntegral (w)              :: Word8)
     poke (p `plusPtr` 1) (fromIntegral (shiftr_w16 w 8) :: Word8)
@@ -105,7 +105,7 @@
 -- | Encoding 'Word32's in big endian format.
 {-# INLINE word32BE #-}
 word32BE :: FixedPrim Word32
-#ifdef WORD_BIGENDIAN
+#ifdef WORDS_BIGENDIAN
 word32BE = word32Host
 #else
 word32BE = fixedPrim 4 $ \w p -> do
@@ -118,7 +118,7 @@
 -- | Encoding 'Word32's in little endian format.
 {-# INLINE word32LE #-}
 word32LE :: FixedPrim Word32
-#ifdef WORD_BIGENDIAN
+#ifdef WORDS_BIGENDIAN
 word32LE = fixedPrim 4 $ \w p -> do
     poke p               (fromIntegral (w)               :: Word8)
     poke (p `plusPtr` 1) (fromIntegral (shiftr_w32 w  8) :: Word8)
@@ -134,7 +134,7 @@
 -- | Encoding 'Word64's in big endian format.
 {-# INLINE word64BE #-}
 word64BE :: FixedPrim Word64
-#ifdef WORD_BIGENDIAN
+#ifdef WORDS_BIGENDIAN
 word64BE = word64Host
 #else
 #if WORD_SIZE_IN_BITS < 64
@@ -170,7 +170,7 @@
 -- | Encoding 'Word64's in little endian format.
 {-# INLINE word64LE #-}
 word64LE :: FixedPrim Word64
-#ifdef WORD_BIGENDIAN
+#ifdef WORDS_BIGENDIAN
 #if WORD_SIZE_IN_BITS < 64
 word64LE =
     fixedPrim 8 $ \w p -> do
diff --git a/Data/ByteString/Lazy.hs b/Data/ByteString/Lazy.hs
--- a/Data/ByteString/Lazy.hs
+++ b/Data/ByteString/Lazy.hs
@@ -225,6 +225,7 @@
 import Data.ByteString.Lazy.Internal
 
 #if !(MIN_VERSION_base(4,8,0))
+import Control.Applicative      ((<$>))
 import Data.Monoid              (Monoid(..))
 #endif
 import Control.Monad            (mplus)
diff --git a/bytestring.cabal b/bytestring.cabal
--- a/bytestring.cabal
+++ b/bytestring.cabal
@@ -1,5 +1,5 @@
 Name:                bytestring
-Version:             0.10.8.0
+Version:             0.10.8.1
 Synopsis:            Fast, compact, strict and lazy byte strings with a list interface
 Description:
     An efficient compact, immutable byte string type (both strict and lazy)
diff --git a/tests/Properties.hs b/tests/Properties.hs
--- a/tests/Properties.hs
+++ b/tests/Properties.hs
@@ -14,6 +14,7 @@
 import Foreign.Marshal.Array
 import GHC.Ptr
 import Test.QuickCheck
+import Control.Applicative
 import Control.Monad
 import Control.Concurrent
 import Control.Exception
