diff --git a/Tests/LibWeb/Text/data/iframe-with-border-radius-svg.html b/Tests/LibWeb/Text/data/iframe-with-border-radius-svg.html
new file mode 100644
index 0000000000..62434fc1be
--- /dev/null
+++ b/Tests/LibWeb/Text/data/iframe-with-border-radius-svg.html
@@ -0,0 +1,7 @@
+
+
Text
diff --git a/Tests/LibWeb/Text/expected/border-radius-div-containing-iframe-with-border-radius-svg.txt b/Tests/LibWeb/Text/expected/border-radius-div-containing-iframe-with-border-radius-svg.txt
new file mode 100644
index 0000000000..9f77c42ba3
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/border-radius-div-containing-iframe-with-border-radius-svg.txt
@@ -0,0 +1 @@
+ PASS! (didn't crash)
diff --git a/Tests/LibWeb/Text/input/border-radius-div-containing-iframe-with-border-radius-svg.html b/Tests/LibWeb/Text/input/border-radius-div-containing-iframe-with-border-radius-svg.html
new file mode 100644
index 0000000000..67cccf1d47
--- /dev/null
+++ b/Tests/LibWeb/Text/input/border-radius-div-containing-iframe-with-border-radius-svg.html
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/Userland/Libraries/LibWeb/Painting/CommandExecutorCPU.cpp b/Userland/Libraries/LibWeb/Painting/CommandExecutorCPU.cpp
index 9f1844c3db..c2b0b1619b 100644
--- a/Userland/Libraries/LibWeb/Painting/CommandExecutorCPU.cpp
+++ b/Userland/Libraries/LibWeb/Painting/CommandExecutorCPU.cpp
@@ -461,7 +461,9 @@ CommandResult CommandExecutorCPU::draw_triangle_wave(Gfx::IntPoint const& p1, Gf
CommandResult CommandExecutorCPU::sample_under_corners(u32 id, CornerRadii const& corner_radii, Gfx::IntRect const& border_rect, CornerClip corner_clip)
{
- m_corner_clippers.resize(id + 1);
+ if (id >= m_corner_clippers.size())
+ m_corner_clippers.resize(id + 1);
+
auto clipper = BorderRadiusCornerClipper::create(corner_radii, border_rect.to_type(), corner_clip);
m_corner_clippers[id] = clipper.release_value_but_fixme_should_propagate_errors();
m_corner_clippers[id]->sample_under_corners(painter());