diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index aca7582..bb1693b 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,19 @@
 2019-08-24  Zalan Bujtas  <zalan@apple.com>
 
+        [LFC][TFC] Add section renderers to the layout tree (THEAD/TBODY/TFOOT)
+        https://bugs.webkit.org/show_bug.cgi?id=201114
+        <rdar://problem/54664992>
+
+        Reviewed by Antti Koivisto.
+
+        Section renderers (THEAD/TBODY/TFOOT) are direct children of the RenderTable. Let's include them in the layout tree as well.
+
+        * layout/layouttree/LayoutTreeBuilder.cpp:
+        (WebCore::Layout::TreeBuilder::createTableStructure):
+        (WebCore::Layout::outputInlineRuns):
+
+2019-08-24  Zalan Bujtas  <zalan@apple.com>
+
         [LFC] Box::isAnonymous() can not rely on the lack of ElementType.
         https://bugs.webkit.org/show_bug.cgi?id=201106
         <rdar://problem/54660287>
diff --git a/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp b/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp
index 346dfbd..7567605 100644
--- a/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp
+++ b/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp
@@ -215,9 +215,14 @@
 
     auto tableBox = makeUnique<Container>(Box::ElementAttributes { Box::ElementType::TableBox }, RenderStyle::clone(tableRenderer.style()));
     appendChild(tableWrapperBox, *tableBox);
-    while (tableChild) {
-        TreeBuilder::createSubTree(downcast<RenderElement>(*tableChild), *tableBox);
-        tableChild = tableChild->nextSibling();
+    auto* sectionRenderer = tableChild;
+    while (sectionRenderer) {
+        auto sectionBox = createLayoutBox(tableRenderer, *sectionRenderer);
+        appendChild(*tableBox, *sectionBox);
+        auto& sectionContainer = downcast<Container>(*sectionBox);
+        TreeBuilder::createSubTree(downcast<RenderElement>(*sectionRenderer), sectionContainer);
+        sectionBox.release();
+        sectionRenderer = sectionRenderer->nextSibling();
     }
     // Temporary
     tableBox.release();
@@ -259,7 +264,7 @@
             stream << " ";
         if (inlineRun->textContext())
             stream << "inline text box";
-        else  
+        else
             stream << "inline box";
         stream << " at (" << inlineRun->logicalLeft() << "," << inlineRun->logicalTop() << ") size " << inlineRun->logicalWidth() << "x" << inlineRun->logicalHeight();
         if (inlineRun->textContext())
