@@ -589,12 +589,14 @@ elemToBodyPart ns element
589589 sty <- asks envParStyles
590590 let parstyle = elemToParagraphStyle ns element sty
591591 parparts <- mapD (elemToParPart ns) (elChildren element)
592− case pNumInfo parstyle of
593− Just (numId, lvl) -> do
594− num <- asks envNumbering
595− let levelInfo = lookupLevel numId lvl num
596− return $ ListItem parstyle numId lvl levelInfo parparts
597− Nothing -> return $ Paragraph parstyle parparts
592+ -- Word uses list enumeration for numbered headings, so we only
593+ -- want to infer a list from the styles if it is NOT a heading.
594+ case pHeading parstyle of
595+ Nothing | Just (numId, lvl) <- pNumInfo parstyle -> do
596+ num <- asks envNumbering
597+ let levelInfo = lookupLevel numId lvl num
598+ return $ ListItem parstyle numId lvl levelInfo parparts
599+ _ -> return $ Paragraph parstyle parparts
598600elemToBodyPart ns element
599601 | isElem ns "w" "tbl" element = do
600602 let caption' = findChild (elemName ns "w" "tblPr") element