diff --git a/Data/BloomFilter/Easy.hs b/Data/BloomFilter/Easy.hs
--- a/Data/BloomFilter/Easy.hs
+++ b/Data/BloomFilter/Easy.hs
@@ -27,7 +27,7 @@
     , suggestSizing
     ) where
 
-import Data.BloomFilter (Bloom, elemB, fromListB, lengthB, notElemB)
+import Data.BloomFilter (Bloom, elemB, emptyB, fromListB, lengthB, notElemB)
 import Data.BloomFilter.Hash (Hashable, cheapHashes)
 import Data.BloomFilter.Util (nextPowerOfTwo)
 import qualified Data.ByteString as SB
@@ -44,10 +44,11 @@
 {-# SPECIALIZE easyList :: Double -> [LB.ByteString] -> Bloom LB.ByteString #-}
 {-# SPECIALIZE easyList :: Double -> [SB.ByteString] -> Bloom SB.ByteString #-}
 {-# INLINE easyList #-}
-easyList errRate xs =
-    let capacity = length xs
-        (numBits, numHashes) = suggestSizing capacity errRate
-    in fromListB (cheapHashes numHashes) numBits xs
+easyList errRate xs = fromListB (cheapHashes numHashes) numBits xs
+    where capacity = length xs
+          (numBits, numHashes)
+              | capacity > 0 = suggestSizing capacity errRate
+              | otherwise    = (1, 1)
 
 -- | Suggest a good combination of filter size and number of hash
 -- functions for a Bloom filter, based on its expected maximum
diff --git a/bloomfilter.cabal b/bloomfilter.cabal
--- a/bloomfilter.cabal
+++ b/bloomfilter.cabal
@@ -1,5 +1,5 @@
 name:            bloomfilter
-version:         1.2.2
+version:         1.2.3
 license:         BSD3
 license-file:    LICENSE
 author:          Bryan O'Sullivan <bos@serpentine.com>
