diff --git a/Libraries/LibHTML/TreeNode.h b/Libraries/LibHTML/TreeNode.h
index ae84db165b..4459e4cfc0 100644
--- a/Libraries/LibHTML/TreeNode.h
+++ b/Libraries/LibHTML/TreeNode.h
@@ -121,6 +121,12 @@ inline NonnullRefPtr TreeNode::remove_child(NonnullRefPtr node, bool ca
if (m_last_child == node)
m_last_child = node->m_previous_sibling;
+ if (node->m_next_sibling)
+ node->m_next_sibling->m_previous_sibling = node->m_previous_sibling;
+
+ if (node->m_previous_sibling)
+ node->m_previous_sibling->m_next_sibling = node->m_next_sibling;
+
node->m_next_sibling = nullptr;
node->m_previous_sibling = nullptr;
node->m_parent = nullptr;