@@ -475,6 +475,8 @@ blockToMarkdown' opts (Header level attr inlines) = do
475475 space <> attrsToMarkdown attr
476476 | otherwise -> empty
477477 contents <- inlineListToMarkdown opts $
478+ -- ensure no newlines; see #3736
479+ walk lineBreakToSpace $
478480 if level == 1 && plain
479481 then capitalize inlines
480482 else inlines
@@ -1203,3 +1205,8 @@ toSubscript c
12031205 Just $ chr (0x2080 + (ord c - 48))
12041206 | isSpace c = Just c
12051207 | otherwise = Nothing
1208+
1209+lineBreakToSpace :: Inline -> Inline
1210+lineBreakToSpace LineBreak = Space
1211+lineBreakToSpace SoftBreak = Space
1212+lineBreakToSpace x = x