diff --git a/LibHTML/Frame.cpp b/LibHTML/Frame.cpp
index 147216e4f0..0c060574ed 100644
--- a/LibHTML/Frame.cpp
+++ b/LibHTML/Frame.cpp
@@ -5,6 +5,7 @@
#include
#include
#include
+#include
#include
#include
@@ -59,6 +60,8 @@ void Frame::layout()
auto styled_root = generate_style_tree();
auto create_layout_node = [](const StyledNode& styled_node) -> RefPtr {
+ if (styled_node.node() && styled_node.node()->is_document())
+ return adopt(*new LayoutDocument(static_cast(*styled_node.node())));
switch (styled_node.display()) {
case Display::None:
return nullptr;