diff --git a/Text/Parsec/Error.hs b/Text/Parsec/Error.hs
--- a/Text/Parsec/Error.hs
+++ b/Text/Parsec/Error.hs
@@ -134,12 +134,16 @@
     = ParseError pos (msg : filter (msg /=) msgs)
 
 mergeError :: ParseError -> ParseError -> ParseError
-mergeError (ParseError pos1 msgs1) (ParseError pos2 msgs2)
+mergeError e1@(ParseError pos1 msgs1) e2@(ParseError pos2 msgs2)
+    -- prefer meaningful errors
+    | null msgs2 && not (null msgs1) = e1
+    | null msgs1 && not (null msgs2) = e2
+    | otherwise
     = case pos1 `compare` pos2 of
         -- select the longest match
         EQ -> ParseError pos1 (msgs1 ++ msgs2)
-        GT -> ParseError pos1 msgs1
-        LT -> ParseError pos2 msgs2
+        GT -> e1
+        LT -> e2
 
 instance Show ParseError where
     show err
diff --git a/Text/Parsec/Prim.hs b/Text/Parsec/Prim.hs
--- a/Text/Parsec/Prim.hs
+++ b/Text/Parsec/Prim.hs
@@ -451,7 +451,7 @@
     p' = ParsecT $ \s cok cerr eok eerr ->
          unParser p s eok cerr eok eerr
 
--- | The parser @tokenPrim showTok posFromTok testTok@ accepts a token @t@
+-- | The parser @token showTok posFromTok testTok@ accepts a token @t@
 -- with result @x@ when the function @testTok t@ returns @'Just' x@. The
 -- source position of the @t@ should be returned by @posFromTok t@ and
 -- the token can be shown using @showTok t@.
@@ -479,7 +479,7 @@
                              Nothing -> tokpos tok
                              Just (tok',_) -> tokpos tok'
 
--- | The parser @token showTok nextPos testTok@ accepts a token @t@
+-- | The parser @tokenPrim showTok nextPos testTok@ accepts a token @t@
 -- with result @x@ when the function @testTok t@ returns @'Just' x@. The
 -- token can be shown using @showTok t@. The position of the /next/
 -- token should be returned when @nextPos@ is called with the current
diff --git a/parsec3.cabal b/parsec3.cabal
--- a/parsec3.cabal
+++ b/parsec3.cabal
@@ -1,5 +1,5 @@
 name:           parsec3
-version:        1.0.0.4
+version:        1.0.0.5
 cabal-version: >= 1.2.3
 license:        BSD3
 license-file:   LICENSE
@@ -27,7 +27,7 @@
         avoid module ambiguities for users just installing your package.  Your
         own module ambiguities are best avoided by hiding packages.
         .
-        This version reflects the changes of parsec-3.1.2
+        This version reflects the changes of parsec-3.1.3
 library
     exposed-modules:
         Text.Parsec,
