diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 3a1b1a2..0045284 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -4132,7 +4132,7 @@
 } SSL3_STATE;
 
 
-/* Android compatibility section.
+/* Android compatibility section (hidden).
  *
  * These functions are declared, temporarily, for Android because
  * wpa_supplicant will take a little time to sync with upstream. Outside of
@@ -4147,7 +4147,7 @@
 OPENSSL_EXPORT int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method);
 
 
-/* Preprocessor compatibility section.
+/* Preprocessor compatibility section (hidden).
  *
  * Historically, a number of APIs were implemented in OpenSSL as macros and
  * constants to 'ctrl' functions. To avoid breaking #ifdefs in consumers, this
diff --git a/util/doc.go b/util/doc.go
index 23cd5f4..48d65eb 100644
--- a/util/doc.go
+++ b/util/doc.go
@@ -237,6 +237,10 @@
 	return strings.Replace(name, " ", "-", -1)
 }
 
+func isPrivateSection(name string) bool {
+	return strings.HasPrefix(name, "Private functions") || strings.HasPrefix(name, "Private structures") || strings.Contains(name, "(hidden)")
+}
+
 func (config *Config) parseHeader(path string) (*HeaderFile, error) {
 	headerPath := filepath.Join(config.BaseDirectory, path)
 
@@ -341,7 +345,7 @@
 				}
 
 				section.Preamble = comment
-				section.IsPrivate = len(comment) > 0 && strings.HasPrefix(comment[0], "Private functions")
+				section.IsPrivate = len(comment) > 0 && isPrivateSection(comment[0])
 				section.Anchor = anchor
 				lines = rest[1:]
 				lineNo = restLineNo + 1
