diff --git a/Text/Email/Validate.hs b/Text/Email/Validate.hs
--- a/Text/Email/Validate.hs
+++ b/Text/Email/Validate.hs
@@ -58,7 +58,7 @@
 crlf = simply $ cr >> lf
 vchar = ranges [(0x21,0x7e)]
 obsNoWsCtl = ranges [(1,8),(11,12),(14,31),(127,127)]
-ranges xs = simply $ satisfy (\c -> Range.inRanges c $ Range.ranges $ map (chr***chr) $ xs)
+ranges xs = simply $ satisfy (\c -> Range.inRanges c $ Range.ranges $ map (uncurry Range.range . (chr***chr)) $ xs)
 
 unitTest (x, y, z) = if isValid x == y then "" else (x ++": Should be "++show y ++", got "++show (not y)++"\n\t"++z++"\n")
 
diff --git a/email-validate.cabal b/email-validate.cabal
--- a/email-validate.cabal
+++ b/email-validate.cabal
@@ -1,5 +1,5 @@
 name:           email-validate
-version:        0.2
+version:        0.2.1
 license:        BSD3
 license-file:   LICENSE
 author:         George Pollard
@@ -13,7 +13,7 @@
 cabal-version:  >= 1.2
 
 library
-    build-depends:  base, parsec >= 3.0, ranges >= 0.1
+    build-depends:  base, parsec >= 3.0, ranges >= 0.2.2
     ghc-options: -O2
 
     exposed-modules:
