diff --git a/Tests/LibWeb/Text/expected/overflow-with-zero-sized-box.txt b/Tests/LibWeb/Text/expected/overflow-with-zero-sized-box.txt
new file mode 100644
index 00000000000..aaecaf93c4a
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/overflow-with-zero-sized-box.txt
@@ -0,0 +1 @@
+PASS (didn't crash)
diff --git a/Tests/LibWeb/Text/input/overflow-with-zero-sized-box.html b/Tests/LibWeb/Text/input/overflow-with-zero-sized-box.html
new file mode 100644
index 00000000000..2f85c01b53d
--- /dev/null
+++ b/Tests/LibWeb/Text/input/overflow-with-zero-sized-box.html
@@ -0,0 +1,13 @@
+
+
+
diff --git a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp
index 1241e83973c..055a0293251 100644
--- a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp
+++ b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp
@@ -276,6 +276,8 @@ Optional PaintableBox::scroll_thumb_rect(ScrollDirection direction
auto scroll_overflow_size = direction == ScrollDirection::Horizontal ? scrollable_overflow_rect.width() : scrollable_overflow_rect.height();
auto scrollport_size = direction == ScrollDirection::Horizontal ? padding_rect.width() : padding_rect.height();
auto scroll_offset = direction == ScrollDirection::Horizontal ? this->scroll_offset().x() : this->scroll_offset().y();
+ if (scroll_overflow_size == 0)
+ return {};
auto thumb_size = scrollport_size * (scrollport_size / scroll_overflow_size);
CSSPixels thumb_position = 0;