diff --git a/core/src/html/layout.rs b/core/src/html/layout.rs
index e40c9a227..4f3e863b6 100644
--- a/core/src/html/layout.rs
+++ b/core/src/html/layout.rs
@@ -432,7 +432,9 @@ impl<'gc> LayoutBox<'gc> {
}
}
- let next_breakpoint = last_breakpoint + breakpoint;
+ // This ensures that the space causing the line break
+ // is included in the line it broke.
+ let next_breakpoint = min(last_breakpoint + breakpoint + 1, text.len());
Self::append_text_fragment(
context.gc_context,
@@ -443,7 +445,7 @@ impl<'gc> LayoutBox<'gc> {
span,
);
- last_breakpoint = next_breakpoint + 1;
+ last_breakpoint = next_breakpoint;
if last_breakpoint >= text.len() {
break;
}