@@ -1157,9 +1157,19 @@ anchor = try $ do
11571157 refs <- referenceNames
11581158 blanklines
11591159 b <- block
1160− -- put identifier on next block:
11611160 let addDiv ref = B.divWith (ref, [], [])
1162− return $ foldr addDiv b refs
1161+ let emptySpanWithId id' = Span (id',[],[]) []
1162+ -- put identifier on next block:
1163+ case B.toList b of
1164+ [Header lev (_,classes,kvs) txt] ->
1165+ case reverse refs of
1166+ [] -> return b
1167+ (r:rs) -> return $ B.singleton $
1168+ Header lev (r,classes,kvs)
1169+ (txt ++ map emptySpanWithId rs)
1170+ -- we avoid generating divs for headers,
1171+ -- because it hides them from promoteHeader, see #4240
1172+ _ -> return $ foldr addDiv b refs
11631173
11641174headerBlock :: PandocMonad m => RSTParser m [Char]
11651175headerBlock = do