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.5.0
+version:             0.5.1
 synopsis:            Chinese/Mandarin <-> English dictionary, Chinese lexer.
 -- description:
 license:             PublicDomain
diff --git a/src/Data/Chinese/Pinyin.hs b/src/Data/Chinese/Pinyin.hs
--- a/src/Data/Chinese/Pinyin.hs
+++ b/src/Data/Chinese/Pinyin.hs
@@ -12,8 +12,16 @@
 import           Data.Text  (Text)
 import qualified Data.Text  as T
 
+restoreUmlaut :: Text -> Text
+restoreUmlaut =
+  T.replace "u:" "ü" .
+  T.replace "ū:" "ǖ" .
+  T.replace "ú:" "ǘ" .
+  T.replace "ǔ:" "ǚ" .
+  T.replace "ù:" "ǜ"
+
 toToneMarks :: Text -> Text
-toToneMarks = modToneNumber toTonal
+toToneMarks = restoreUmlaut . modToneNumber toTonal
 
 fromToneMarks :: Text -> Text
 fromToneMarks txt = clearToneMarks $
