undef ERROR if already defined
diff --git a/pattern.c b/pattern.c
index 8cd69ae..1570001 100644
--- a/pattern.c
+++ b/pattern.c
@@ -39,6 +39,9 @@
 
 /* #define DEBUG_STREAMING */
 
+#ifdef ERROR
+#undef ERROR
+#endif
 #define ERROR(a, b, c, d)
 #define ERROR5(a, b, c, d, e)
 
diff --git a/xmlregexp.c b/xmlregexp.c
index aaff33e..8a8be98 100644
--- a/xmlregexp.c
+++ b/xmlregexp.c
@@ -44,6 +44,9 @@
 
 #define MAX_PUSH 10000000
 
+#ifdef ERROR
+#undef ERROR
+#endif
 #define ERROR(str)							\
     ctxt->error = XML_REGEXP_COMPILE_ERROR;				\
     xmlRegexpErrCompile(ctxt, str);