diff --git a/components/layout/block.rs b/components/layout/block.rs
index 720b529bca5..06a8c390630 100644
--- a/components/layout/block.rs
+++ b/components/layout/block.rs
@@ -1347,10 +1347,16 @@ impl BlockFlow {
let mut inline_size_of_preceding_left_floats = Au(0);
let mut inline_size_of_preceding_right_floats = Au(0);
if self.formatting_context_type() == FormattingContextType::None {
- inline_size_of_preceding_left_floats =
- max(self.inline_size_of_preceding_left_floats - inline_start_content_edge, Au(0));
- inline_size_of_preceding_right_floats =
- max(self.inline_size_of_preceding_right_floats - inline_end_content_edge, Au(0));
+ if inline_start_content_edge > Au(0) {
+ inline_size_of_preceding_left_floats =
+ max(self.inline_size_of_preceding_left_floats - inline_start_content_edge,
+ Au(0));
+ }
+ if inline_end_content_edge > Au(0) {
+ inline_size_of_preceding_right_floats =
+ max(self.inline_size_of_preceding_right_floats - inline_end_content_edge,
+ Au(0));
+ }
}
let opaque_self = OpaqueFlow::from_flow(self);
diff --git a/tests/ref/basic.list b/tests/ref/basic.list
index 65ae2cce853..b70bc02f9a0 100644
--- a/tests/ref/basic.list
+++ b/tests/ref/basic.list
@@ -48,6 +48,7 @@ flaky_cpu == append_style_a.html append_style_b.html
== block_formatting_context_containing_floats_a.html block_formatting_context_containing_floats_ref.html
== block_formatting_context_float_placement_a.html block_formatting_context_float_placement_ref.html
== block_formatting_context_max_width_a.html block_formatting_context_max_width_ref.html
+== block_formatting_context_overflow_a.html block_formatting_context_overflow_ref.html
== block_formatting_context_relative_a.html block_formatting_context_ref.html
== block_formatting_context_translation_a.html block_formatting_context_translation_ref.html
== block_formatting_context_with_margin_a.html block_formatting_context_with_margin_ref.html
diff --git a/tests/ref/block_formatting_context_overflow_a.html b/tests/ref/block_formatting_context_overflow_a.html
new file mode 100644
index 00000000000..c38766870cf
--- /dev/null
+++ b/tests/ref/block_formatting_context_overflow_a.html
@@ -0,0 +1,19 @@
+
+
+