diff --git a/libmat2/web.py b/libmat2/web.py
index b77020092c879d1574639a2549a40c690f04c571..75633a38fcb5b3c6b15f65b038f0b2b1d4712d7b 100644
--- a/libmat2/web.py
+++ b/libmat2/web.py
@@ -96,6 +96,15 @@ class _HTMLParser(parser.HTMLParser):
         self.tag_required_blocklist = required_blocklisted_tags
         self.tag_blocklist = blocklisted_tags
 
+    def error(self, msg):
+        """ Amusingly, Python's documentation doesn't mention that this
+        function needs to be implemented in subclasses of the parent class
+        of parser.HTMLParser. This was found by fuzzing,
+        triggering the following exception:
+            NotImplementedError: subclasses of ParserBase must override error()
+        """
+        raise ValueError(msg)
+
     def handle_starttag(self, tag: str, attrs: List[Tuple[str, Optional[str]]]):
         # Ignore the type, because mypy is too stupid to infer
         # that get_starttag_text() can't return None.