diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+2.0.0.1
+
+* Avoid using Data.ByteString.UTF8.Normalize, which was deprecated in
+  unicode-transforms-0.2.0
+
+
 2.0
 
 * New package normalization-insensitive based on case-insensitive
diff --git a/Data/Unicode/NormalizationInsensitive/Internal.hs b/Data/Unicode/NormalizationInsensitive/Internal.hs
--- a/Data/Unicode/NormalizationInsensitive/Internal.hs
+++ b/Data/Unicode/NormalizationInsensitive/Internal.hs
@@ -43,8 +43,10 @@
 import qualified Data.ByteString.Lazy as BL ( ByteString, fromStrict, toStrict )
 
 -- from text:
-import qualified Data.Text      as T  ( Text, pack, unpack )
-import qualified Data.Text.Lazy as TL ( Text, fromStrict, toStrict )
+import qualified Data.Text                as T  ( Text, pack, unpack )
+import qualified Data.Text.Encoding       as T  ( decodeUtf8With, encodeUtf8 )
+import qualified Data.Text.Encoding.Error as T  ( lenientDecode )
+import qualified Data.Text.Lazy           as TL ( Text, fromStrict, toStrict )
 
 -- from deepseq:
 import Control.DeepSeq ( NFData, rnf, deepseq )
@@ -53,7 +55,6 @@
 import Data.Hashable ( Hashable, hashWithSalt )
 
 -- from unicode-transforms:
-import qualified Data.ByteString.UTF8.Normalize as B ( normalize )
 import qualified Data.Text.Normalize            as T ( normalize )
 import Data.Unicode.Types                       ( NormalizationMode(NFC) )
 
@@ -84,7 +85,7 @@
 mk :: Normalizable s => s -> NI s
 mk s = NI s (normalize s)
 
--- | Constructs a 'NI' from an already normalized string-like
+-- | Constructs an 'NI' from an already normalized string-like
 -- value. The given string is used both as the 'original' as well as
 -- the 'normalized'.
 --
@@ -140,11 +141,11 @@
 
 -- | Note that @normalize@ on @'B.ByteString's@ assumes UTF-8 encoded strings!
 instance Normalizable B.ByteString where
-    normalize = B.normalize mode
+    normalize = T.encodeUtf8 . normalize . T.decodeUtf8With T.lenientDecode
 
 -- | Note that @normalize@ on @'BL.ByteString's@ assumes UTF-8 encoded strings!
 instance Normalizable BL.ByteString where
-    normalize = BL.fromStrict . B.normalize mode . BL.toStrict
+    normalize = BL.fromStrict . normalize . BL.toStrict
 
 instance Normalizable String where
     normalize = T.unpack . T.normalize mode . T.pack
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -1,4 +1,5 @@
 [![Build Status](https://travis-ci.org/ppelleti/normalization-insensitive.svg?branch=master)](https://travis-ci.org/ppelleti/normalization-insensitive)
+[![Build status](https://ci.appveyor.com/api/projects/status/0qhwhc1cfsphf263/branch/master?svg=true)](https://ci.appveyor.com/project/ppelleti/normalization-insensitive/branch/master)
 
 The module `Data.Unicode.NormalizationInsensitive` provides the `NI`
 type constructor which can be parameterized by a string-like type like:
diff --git a/normalization-insensitive.cabal b/normalization-insensitive.cabal
--- a/normalization-insensitive.cabal
+++ b/normalization-insensitive.cabal
@@ -1,5 +1,5 @@
 name:          normalization-insensitive
-version:       2.0
+version:       2.0.0.1
 cabal-version: >=1.8
 build-type:    Simple
 license:       BSD3
@@ -39,7 +39,7 @@
                , text       >= 0.3 && < 1.3
                , deepseq    >= 1.1 && < 1.5
                , hashable   >= 1.0 && < 1.3
-               , unicode-transforms >= 0.1.0.1 && < 1.2
+               , unicode-transforms >= 0.1.0.1 && < 0.3
   exposed-modules: Data.Unicode.NormalizationInsensitive
                  , Data.Unicode.NormalizationInsensitive.Unsafe
   other-modules: Data.Unicode.NormalizationInsensitive.Internal
