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.7.0
+version:             0.7.1
 synopsis:            Chinese/Mandarin <-> English dictionary, Chinese lexer.
 -- description:
 license:             PublicDomain
diff --git a/src/Data/Chinese/Segmentation.hs b/src/Data/Chinese/Segmentation.hs
--- a/src/Data/Chinese/Segmentation.hs
+++ b/src/Data/Chinese/Segmentation.hs
@@ -75,7 +75,13 @@
 tokenLength (KnownWord e) = T.length (entrySimplified e)
 
 flattenGroups :: [[[Token]]] -> [Token]
-flattenGroups = concatMap pickBest
+flattenGroups = joinUnknownWords . concatMap pickBest
+  where
+    joinUnknownWords [] = []
+    joinUnknownWords (UnknownWord a:UnknownWord b:rest) =
+      joinUnknownWords (UnknownWord (a `T.append` b):rest)
+    joinUnknownWords (x:xs) =
+      x : joinUnknownWords xs
 
 pickBest :: [[Token]] -> [Token]
 pickBest lst =
