diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp index f22d272868d..83dd9cdc94e 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.cpp +++ b/Userland/Libraries/LibWeb/DOM/Document.cpp @@ -1258,7 +1258,9 @@ void Document::update_layout() bool is_display_none = false; if (is(node)) { - invalidation |= static_cast(node).recompute_style(); + if (needs_full_style_update || node.needs_style_update()) { + invalidation |= static_cast(node).recompute_style(); + } is_display_none = static_cast(node).computed_css_values()->display().is_none(); } node.set_needs_style_update(false);