diff --git a/Tests/LibWeb/Ref/resolve-paint-only-properties-after-layout.html b/Tests/LibWeb/Ref/resolve-paint-only-properties-after-layout.html
new file mode 100644
index 0000000000..44938c3fba
--- /dev/null
+++ b/Tests/LibWeb/Ref/resolve-paint-only-properties-after-layout.html
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp
index 72dab3a7ad..1424f38caf 100644
--- a/Userland/Libraries/LibWeb/DOM/Document.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Document.cpp
@@ -1060,8 +1060,10 @@ void Document::update_layout()
// Broadcast the current viewport rect to any new paintables, so they know whether they're visible or not.
inform_all_viewport_clients_about_the_current_viewport_rect();
- if (navigable())
+ if (navigable()) {
+ navigable()->set_needs_to_resolve_paint_only_properties();
navigable()->set_needs_display();
+ }
if (navigable()->is_traversable()) {
page().client().page_did_layout();