diff --git a/src/document/html/parser/general.c b/src/document/html/parser/general.c
index 26c1fc411..d00d1cefc 100644
--- a/src/document/html/parser/general.c
+++ b/src/document/html/parser/general.c
@@ -41,6 +41,9 @@
/* Unsafe macros */
#include "document/html/internal.h"
+#if defined(CONFIG_ECMASCRIPT_SMJS) || defined(CONFIG_QUICKJS) || defined(CONFIG_MUJS)
+#include "ecmascript/ecmascript.h"
+#endif
void
html_span(struct html_context *html_context, char *a,
diff --git a/src/document/html/parser/stack.c b/src/document/html/parser/stack.c
index bcbd773b8..df99f99cf 100644
--- a/src/document/html/parser/stack.c
+++ b/src/document/html/parser/stack.c
@@ -27,6 +27,10 @@
/* Unsafe macros */
#include "document/html/internal.h"
+#if defined(CONFIG_ECMASCRIPT_SMJS) || defined(CONFIG_QUICKJS) || defined(CONFIG_MUJS)
+#include "ecmascript/ecmascript.h"
+#endif
+
#if 0 //def CONFIG_XML
#include
#endif
diff --git a/src/ecmascript/ecmascript.h b/src/ecmascript/ecmascript.h
index f627a7230..c8832e6e3 100644
--- a/src/ecmascript/ecmascript.h
+++ b/src/ecmascript/ecmascript.h
@@ -5,6 +5,8 @@
/* In the future you will get DOM, a complete ECMAScript interface and free
* plasm displays for everyone. */
+#include
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif