diff --git a/util/doc.go b/util/doc.go
index bdcfcb0..17d7479 100644
--- a/util/doc.go
+++ b/util/doc.go
@@ -291,6 +291,10 @@
 	return strings.HasPrefix(name, "Private functions") || strings.HasPrefix(name, "Private structures") || strings.Contains(name, "(hidden)")
 }
 
+func isCollectiveComment(line string) bool {
+	return strings.HasPrefix(line, "The ") || strings.HasPrefix(line, "These ")
+}
+
 func (config *Config) parseHeader(path string) (*HeaderFile, error) {
 	headerPath := filepath.Join(config.BaseDirectory, path)
 
@@ -439,12 +443,10 @@
 				// As a matter of style, comments should start
 				// with the name of the thing that they are
 				// commenting on. We make an exception here for
-				// collective comments, which are detected by
-				// starting with “The” or “These”.
+				// collective comments.
 				if len(comment) > 0 &&
 					len(name) > 0 &&
-					!strings.HasPrefix(comment[0], "The ") &&
-					!strings.HasPrefix(comment[0], "These ") {
+					!isCollectiveComment(comment[0]) {
 					subject := commentSubject(comment[0])
 					ok := subject == name
 					if l := len(subject); l > 0 && subject[l-1] == '*' {
@@ -540,6 +542,9 @@
 }
 
 func markupFirstWord(s template.HTML) template.HTML {
+	if isCollectiveComment(string(s)) {
+		return s
+	}
 	start := 0
 again:
 	end := strings.Index(string(s[start:]), " ")
