diff --git a/Libraries/LibWeb/HTML/Navigable.h b/Libraries/LibWeb/HTML/Navigable.h
index c5af98f72d0..0df05a0e809 100644
--- a/Libraries/LibWeb/HTML/Navigable.h
+++ b/Libraries/LibWeb/HTML/Navigable.h
@@ -220,6 +220,8 @@ public:
void set_should_show_line_box_borders(bool value) { m_should_show_line_box_borders = value; }
+ bool is_svg_page() const { return m_is_svg_page; }
+
template
bool fast_is() const = delete;
diff --git a/Libraries/LibWeb/Painting/BackingStoreManager.cpp b/Libraries/LibWeb/Painting/BackingStoreManager.cpp
index f67cbc3363e..b1230d2488f 100644
--- a/Libraries/LibWeb/Painting/BackingStoreManager.cpp
+++ b/Libraries/LibWeb/Painting/BackingStoreManager.cpp
@@ -143,6 +143,9 @@ void BackingStoreManager::reallocate_backing_stores(Gfx::IntSize size)
void BackingStoreManager::resize_backing_stores_if_needed(WindowResizingInProgress window_resize_in_progress)
{
+ if (!m_navigable->is_top_level_traversable() || m_navigable->is_svg_page())
+ return;
+
auto viewport_size = m_navigable->page().css_to_device_rect(m_navigable->viewport_rect()).size();
if (viewport_size.is_empty())
return;