diff --git a/Tests/LibWeb/Text/expected/append-child-must-update-layout-tree.txt b/Tests/LibWeb/Text/expected/append-child-must-update-layout-tree.txt
new file mode 100644
index 0000000000..51fe249b9c
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/append-child-must-update-layout-tree.txt
@@ -0,0 +1,2 @@
+Hello
+friends
diff --git a/Tests/LibWeb/Text/input/append-child-must-update-layout-tree.html b/Tests/LibWeb/Text/input/append-child-must-update-layout-tree.html
new file mode 100644
index 0000000000..8bd7944db0
--- /dev/null
+++ b/Tests/LibWeb/Text/input/append-child-must-update-layout-tree.html
@@ -0,0 +1,8 @@
+
+
diff --git a/Userland/Libraries/LibWeb/DOM/Node.cpp b/Userland/Libraries/LibWeb/DOM/Node.cpp
index 15fa30d4aa..0fa190b776 100644
--- a/Userland/Libraries/LibWeb/DOM/Node.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Node.cpp
@@ -487,6 +487,8 @@ void Node::insert_before(JS::NonnullGCPtr node, JS::GCPtr child, boo
// FIXME: This will need to become smarter when we implement the :has() selector.
invalidate_style();
+
+ document().invalidate_layout();
}
// https://dom.spec.whatwg.org/#concept-node-pre-insert