diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp
index 9ed1607083..b3f61d9e5b 100644
--- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp
+++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp
@@ -2649,16 +2649,16 @@ void HTMLTokenizer::switch_to(Badge, State new_state)
void HTMLTokenizer::will_emit(HTMLToken& token)
{
if (token.is_start_tag())
- m_last_emitted_start_tag = token;
+ m_last_emitted_start_tag_name = token.tag_name();
token.m_end_position = nth_last_position(0);
}
bool HTMLTokenizer::current_end_tag_token_is_appropriate() const
{
VERIFY(m_current_token.is_end_tag());
- if (!m_last_emitted_start_tag.is_start_tag())
+ if (!m_last_emitted_start_tag_name.has_value())
return false;
- return m_current_token.tag_name() == m_last_emitted_start_tag.tag_name();
+ return m_current_token.tag_name() == m_last_emitted_start_tag_name.value();
}
bool HTMLTokenizer::consumed_as_part_of_an_attribute() const
diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.h b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.h
index 284b83e34b..ebde43ba3c 100644
--- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.h
+++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.h
@@ -164,7 +164,7 @@ private:
HTMLToken m_current_token;
- HTMLToken m_last_emitted_start_tag;
+ Optional m_last_emitted_start_tag_name;
bool m_has_emitted_eof { false };