diff --git a/Data/Aeson/Parser/Internal.hs b/Data/Aeson/Parser/Internal.hs
--- a/Data/Aeson/Parser/Internal.hs
+++ b/Data/Aeson/Parser/Internal.hs
@@ -133,7 +133,7 @@
 
 commaSeparated :: Parser a -> Word8 -> Parser [a]
 commaSeparated item endByte = do
-  w <- A.peekWord8'
+  w <- peekWord8'
   if w == endByte
     then A.anyWord8 >> return []
     else loop
@@ -164,7 +164,7 @@
 -- to preserve interoperability and security.
 value :: Parser Value
 value = do
-  w <- A.peekWord8'
+  w <- peekWord8'
   case w of
     DOUBLE_QUOTE  -> A.anyWord8 *> (String <$> jstring_)
     OPEN_CURLY    -> A.anyWord8 *> object_
@@ -179,7 +179,7 @@
 -- | Strict version of 'value'. See also 'json''.
 value' :: Parser Value
 value' = do
-  w <- A.peekWord8'
+  w <- peekWord8'
   case w of
     DOUBLE_QUOTE  -> do
                      !s <- A.anyWord8 *> jstring_
@@ -348,4 +348,11 @@
 toByteString :: Builder -> ByteString
 toByteString = L.toStrict . toLazyByteString
 {-# INLINE toByteString #-}
+#endif
+
+peekWord8' :: A.Parser Word8
+#if MIN_VERSION_attoparsec(0,11,1)
+peekWord8' = A.peekWord8'
+#else
+peekWord8' = maybe (fail "not enough bytes") return =<< A.peekWord8
 #endif
diff --git a/aeson.cabal b/aeson.cabal
--- a/aeson.cabal
+++ b/aeson.cabal
@@ -1,5 +1,5 @@
 name:            aeson
-version:         0.7.0.0
+version:         0.7.0.1
 license:         BSD3
 license-file:    LICENSE
 category:        Text, Web, JSON
@@ -112,7 +112,7 @@
       Data.Aeson.Types.Generic
 
   build-depends:
-    attoparsec >= 0.11.1.0,
+    attoparsec >= 0.10.2.1,
     base == 4.*,
     containers,
     deepseq,
