diff --git a/Data/TrieMap/Rep/Instances.hs b/Data/TrieMap/Rep/Instances.hs
--- a/Data/TrieMap/Rep/Instances.hs
+++ b/Data/TrieMap/Rep/Instances.hs
@@ -198,8 +198,8 @@
 		fS w x = fromIntegral w `shiftL` x
 		(Words 0 w, xs) `c` w8
 			= (Words 3 (w .|. sL w8 24), xs |> w)
-		(Words (i+1) w, xs) `c` w8
-			= (Words i (w .|. sL w8 (8 * i)), xs)
+		(Words i' w, xs) `c` w8
+			= let !i = i' - 1 in (Words i (w .|. sL w8 (8 * i)), xs)
 		sL :: Word8 -> Int -> Word32
 		w `sL` x = fromIntegral w `shiftL` x
 
diff --git a/TrieMap.cabal b/TrieMap.cabal
--- a/TrieMap.cabal
+++ b/TrieMap.cabal
@@ -1,5 +1,5 @@
 name:		     TrieMap
-version:             0.6.1
+version:             0.6.2
 tested-with:	     GHC
 category:            Algorithms
 synopsis:	     Automatic type inference of generalized tries.
