diff --git a/Data/Text/Foreign.hs b/Data/Text/Foreign.hs
index 8f273d9efcd4ccd29ccfff86018fde12d97ca0c4..890deca3c94e7382476f24e2b767816f17fbc355 100644
--- a/Data/Text/Foreign.hs
+++ b/Data/Text/Foreign.hs
@@ -108,7 +108,7 @@ takeWord16 (I16 n) t@(Text arr off len)
| n >= len || m >= len = t
| otherwise = Text arr off m
where
- m | w < 0xDB00 || w > 0xD8FF = n
+ m | w < 0xD800 || w > 0xDBFF = n
| otherwise = n+1
w = A.unsafeIndex arr (off+n-1)