diff --git a/Userland/Libraries/LibWeb/HTML/MessagePort.cpp b/Userland/Libraries/LibWeb/HTML/MessagePort.cpp
index f3412cb9e0f8..e2ff9f0f99ec 100644
--- a/Userland/Libraries/LibWeb/HTML/MessagePort.cpp
+++ b/Userland/Libraries/LibWeb/HTML/MessagePort.cpp
@@ -279,7 +279,7 @@ ErrorOr MessagePort::parse_message()
[[fallthrough]];
}
case SocketState::Data: {
- if (num_bytes_ready < m_socket_incoming_message_size)
+ if (num_bytes_ready < HEADER_SIZE + m_socket_incoming_message_size)
return ParseDecision::NotEnoughData;
auto payload = m_buffered_data.span().slice(HEADER_SIZE, m_socket_incoming_message_size);