@@ -178,13 +178,15 @@ blockToMan opts (Table caption alignments widths headers rows) =
178178 let makeRow cols = text "T{" $$
179179 (vcat $ intersperse (text "T}@T{") cols) $$
180180 text "T}"
181− let colheadings' = makeRow colheadings
181+ let colheadings' = if all null headers
182+ then empty
183+ else makeRow colheadings $$ char '_'
182184 body <- mapM (\row -> do
183185 cols <- mapM (blockListToMan opts) row
184186 return $ makeRow cols) rows
185187 return $ text ".PP" $$ caption' $$
186188 text ".TS" $$ text "tab(@);" $$ coldescriptions $$
187− colheadings' $$ char '_' $$ vcat body $$ text ".TE"
189+ colheadings' $$ vcat body $$ text ".TE"
188190
189191blockToMan opts (BulletList items) = do
190192 contents <- mapM (bulletListItemToMan opts) items