diff --git a/doc/man_docs.go b/doc/man_docs.go
index 2138f248..1f9e2bc5 100644
--- a/doc/man_docs.go
+++ b/doc/man_docs.go
@@ -106,6 +106,14 @@ func GenMan(cmd *cobra.Command, header *GenManHeader, w io.Writer) error {
 	if header == nil {
 		header = &GenManHeader{}
 	}
+
+	if cmd.HasParent() {
+		cmd.VisitParents(func(c *cobra.Command) {
+			if c.DisableAutoGenTag {
+				cmd.DisableAutoGenTag = c.DisableAutoGenTag
+			}
+		})
+	}
 	if err := fillHeader(header, cmd.CommandPath(), cmd.DisableAutoGenTag); err != nil {
 		return err
 	}
diff --git a/doc/man_docs_test.go b/doc/man_docs_test.go
index ae6c8e53..4dfef85f 100644
--- a/doc/man_docs_test.go
+++ b/doc/man_docs_test.go
@@ -124,6 +124,32 @@ func TestGenManNoGenTag(t *testing.T) {
 	checkStringOmits(t, output, unexpected)
 }
 
+func TestGenManNoGenTagWithDisabledParent(t *testing.T) {
+	// We set the flag on a parent to check it is used in its descendance
+	rootCmd.DisableAutoGenTag = true
+	defer func() {
+		echoCmd.DisableAutoGenTag = false
+		rootCmd.DisableAutoGenTag = false
+	}()
+
+	header := &GenManHeader{
+		Title:   "Project",
+		Section: "2",
+	}
+
+	// We generate on a subcommand so we have both subcommands and parents
+	buf := new(bytes.Buffer)
+	if err := GenMan(echoCmd, header, buf); err != nil {
+		t.Fatal(err)
+	}
+	output := buf.String()
+
+	unexpected := translate("#HISTORY")
+	checkStringOmits(t, output, unexpected)
+	unexpected = translate("Auto generated by spf13/cobra")
+	checkStringOmits(t, output, unexpected)
+}
+
 func TestGenManSeeAlso(t *testing.T) {
 	rootCmd := &cobra.Command{Use: "root", Run: emptyRun}
 	aCmd := &cobra.Command{Use: "aaa", Run: emptyRun, Hidden: true} // #229