diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java
index 396e5eac578..56732b2ffa3 100644
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java
@@ -25,6 +25,7 @@
 package jdk.javadoc.internal.doclets.formats.html;
 
 import jdk.javadoc.internal.doclets.formats.html.SearchIndexItem.Category;
+import jdk.javadoc.internal.doclets.formats.html.markup.BodyContents;
 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
 import jdk.javadoc.internal.doclets.formats.html.markup.FixedStringContent;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
@@ -61,11 +62,6 @@ import static java.util.stream.Collectors.toList;
  */
 public class SystemPropertiesWriter extends HtmlDocletWriter {
 
-    /**
-     * The HTML tree for main tag.
-     */
-    private final HtmlTree mainTree = HtmlTree.MAIN();
-
     private final Navigation navBar;
 
     /**
@@ -108,28 +104,26 @@ public class SystemPropertiesWriter extends HtmlDocletWriter {
      * Prints all the system properties to the file.
      */
     protected void buildSystemPropertiesPage() throws DocFileIOException {
-        String label = resources.getText("doclet.systemProperties");
-        HtmlTree bodyTree = getBody(getWindowTitle(label));
-        HtmlTree header = HtmlTree.HEADER();
-        addTop(header);
+        String title = resources.getText("doclet.systemProperties");
+        HtmlTree body = getBody(getWindowTitle(title));
+        Content headerContent = new ContentBuilder();
+        addTop(headerContent);
         navBar.setUserHeader(getUserHeaderFooter(true));
-        header.add(navBar.getContent(Navigation.Position.TOP));
-        bodyTree.add(header);
+        headerContent.add(navBar.getContent(Navigation.Position.TOP));
         Content mainContent = new ContentBuilder();
         addSystemProperties(mainContent);
-        Content titleContent = new StringContent(resources.getText("doclet.systemProperties"));
-        Content pHeading = HtmlTree.HEADING_TITLE(Headings.PAGE_TITLE_HEADING,
-                HtmlStyle.title, titleContent);
-        Content headerDiv = HtmlTree.DIV(HtmlStyle.header, pHeading);
-        mainTree.add(headerDiv);
-        mainTree.add(mainContent);
-        bodyTree.add(mainTree);
         Content footer = HtmlTree.FOOTER();
         navBar.setUserFooter(getUserHeaderFooter(false));
         footer.add(navBar.getContent(Navigation.Position.BOTTOM));
         addBottom(footer);
-        bodyTree.add(footer);
-        printHtmlDocument(null, "system properties", bodyTree);
+        body.add(new BodyContents()
+                .setHeader(headerContent)
+                .addMainContent(HtmlTree.DIV(HtmlStyle.header,
+                        HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING,
+                                contents.getContent("doclet.systemProperties"))))
+                .addMainContent(mainContent)
+                .setFooter(footer));
+        printHtmlDocument(null, "system properties", body);
     }
 
     /**
diff --git a/test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java b/test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java
index 2f96efcc0fc..531374cc4d2 100644
--- a/test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java
+++ b/test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8215038 8239487
+ * @bug 8215038 8239487 8240476
  * @summary Add a page that lists all system properties
  * @library /tools/lib ../../lib
  * @modules jdk.javadoc/jdk.javadoc.internal.tool
@@ -65,6 +65,15 @@ public class TestSystemPropertyPage extends JavadocTester {
                 "<a href=\"system-properties.html\">System Properties</a>");
 
         checkOutput("system-properties.html", true,
+                "<div class=\"flex-box\">\n" +
+                "<header role=\"banner\" class=\"flex-header\">",
+
+                "<div class=\"flex-content\">\n" +
+                "<main role=\"main\">\n" +
+                "<div class=\"header\">\n" +
+                "<h1>System Properties</h1>\n" +
+                "</div>",
+
                 "<table>\n" +
                 "<caption><span>System Properties Summary</span><span class=\"tab-end\">&nbsp;</span></caption>\n" +
                 "<thead>\n" +