diff --git a/src/Text/Pandoc/Readers/Man.hs b/src/Text/Pandoc/Readers/Man.hs
index cd17e96f3..d93e3190b 100644
--- a/src/Text/Pandoc/Readers/Man.hs
+++ b/src/Text/Pandoc/Readers/Man.hs
@@ -244,7 +244,8 @@ escapeLexer = try $ do
 
   escFont :: PandocMonad m => ManLexer m String
   escFont = do
-    font <- choice [ S.singleton <$> letterFontKind
+    font <- choice
+          [ S.singleton <$> letterFontKind
           , char '(' >> anyChar >> anyChar >> return (S.singleton Regular)
           , try lettersFont
           , digit >> return (S.singleton Regular)
@@ -256,16 +257,16 @@ escapeLexer = try $ do
   lettersFont = do
     char '['
     fs <- many letterFontKind
-    many letter
+    skipMany letter
     char ']'
     return $ S.fromList fs
 
   letterFontKind :: PandocMonad m => ManLexer m FontKind
   letterFontKind = choice [
-      char 'B' >> return Bold
-    , char 'I' >> return Italic
-    , char 'C' >> return Monospace
-    , (char 'P' <|> char 'R') >> return Regular
+      oneOf ['B','b'] >> return Bold
+    , oneOf ['I','i'] >> return Italic
+    , oneOf ['C','c'] >> return Monospace
+    , oneOf ['P','p','R','r'] >> return Regular
     ]
 
   escUnknown :: PandocMonad m => String -> a -> ManLexer m a