diff --git a/helix-core/src/syntax.rs b/helix-core/src/syntax.rs
index d03ca6bf..c556a347 100644
--- a/helix-core/src/syntax.rs
+++ b/helix-core/src/syntax.rs
@@ -1765,6 +1765,11 @@ impl<I: Iterator<Item = HighlightEvent>> Iterator for Merge<I> {
                 self.next_event = self.iter.next();
                 Some(event)
             }
+            // can happen if deleting and cursor at EOF, and diagnostic reaches past the end
+            (None, Some((span, range))) => {
+                self.next_span = None;
+                None
+            }
             (None, None) => None,
             e => unreachable!("{:?}", e),
         }