diff --git a/HTMLparser.c b/HTMLparser.c
index c9a64c78..a795757c 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -1324,6 +1324,10 @@ htmlCheckAutoClose(const xmlChar * newtag, const xmlChar * oldtag)
int i, indx;
const char **closed = NULL;
+ /*
+ * FIXME: This is not thread-safe and should be called from
+ * xmlInitParser instead.
+ */
if (htmlStartCloseIndexinitialized == 0)
htmlInitAutoClose();
diff --git a/fuzz/html.c b/fuzz/html.c
index 449a9d49..313b6c5b 100644
--- a/fuzz/html.c
+++ b/fuzz/html.c
@@ -6,12 +6,14 @@
#include
#include
+#include
#include "fuzz.h"
int
LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED,
char ***argv ATTRIBUTE_UNUSED) {
xmlInitParser();
+ htmlInitAutoClose();
xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc);
return 0;