diff --git a/cndict.cabal b/cndict.cabal
--- a/cndict.cabal
+++ b/cndict.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                cndict
-version:             0.2.2
+version:             0.2.3
 synopsis:            Chinese/Mandarin <-> English dictionary, Chinese lexer.
 -- description:
 license:             PublicDomain
diff --git a/src/Data/Chinese/Frequency.hs b/src/Data/Chinese/Frequency.hs
--- a/src/Data/Chinese/Frequency.hs
+++ b/src/Data/Chinese/Frequency.hs
@@ -46,10 +46,17 @@
     Right rows -> return rows
 
 mkSubtlexMap :: Vector SubtlexEntry -> SubtlexMap
-mkSubtlexMap rows = M.fromList
+mkSubtlexMap rows = M.fromListWith join
   [ (subtlexWord row, row{subtlexIndex = n})
   | (n,row) <- zip [0..] (V.toList rows) ]
-
+  where
+    join e1 e2 = SubtlexEntry
+      { subtlexIndex = min (subtlexIndex e1) (subtlexIndex e2)
+      , subtlexWord  = subtlexWord e1
+      , subtlexPinyin = subtlexPinyin e1
+      , subtlexWCount = subtlexWCount e1 + subtlexWCount e1
+      , subtlexWMillion = subtlexWMillion e1 + subtlexWMillion e2
+      , subtlexEnglish = subtlexEnglish e1 }
 
 
 
