diff --git a/Libraries/LibHTML/Layout/LayoutText.cpp b/Libraries/LibHTML/Layout/LayoutText.cpp
index fc7f5d7289..663a3e10b1 100644
--- a/Libraries/LibHTML/Layout/LayoutText.cpp
+++ b/Libraries/LibHTML/Layout/LayoutText.cpp
@@ -157,10 +157,14 @@ void LayoutText::for_each_source_line(Callback callback) const
};
for (auto it = view.begin(); it != view.end();) {
- if (*it == '\n')
+ bool did_commit = false;
+ if (*it == '\n') {
commit_line(it);
+ did_commit = true;
+ }
++it;
- start_of_line = it;
+ if (did_commit)
+ start_of_line = it;
}
if (start_of_line != view.end())
commit_line(view.end());