diff --git a/globals.c b/globals.c
index 69a84f2..cfa5ca6 100644
--- a/globals.c
+++ b/globals.c
@@ -18,19 +18,17 @@
 #endif
 #include <string.h>
 
+#include <libxml/xmlversion.h>
+#include <libxml/globals.h>
 #include <libxml/xmlmemory.h>
 
+/* #define DEBUG_GLOBALS */
+
 /*
  * Helpful Macro
  */
-#ifdef WITH_PTHREAD_H
-#if defined(SOLARIS)
-#define THR_MAIN(tid) (-1 == thr_main() || tid == thr_main())
-#else
-#define THR_MAIN(tid) (tid == 0 || tid == 1024)
-#endif
-
-#define IS_MAIN_THREAD (THR_MAIN(pthread_self()))
+#ifdef LIBXML_THREAD_ENABLED
+#define IS_MAIN_THREAD (xmlIsMainThread())
 #else
 #define IS_MAIN_THREAD 1
 #endif
@@ -41,8 +39,6 @@
  * 									*
  ************************************************************************/
 
-const char *xmlParserVersion = LIBXML_VERSION_STRING;
-
 /*
  * Memory allocation routines
  */
@@ -93,6 +89,8 @@
 #undef	xmlMemStrdup
 #undef	xmlRealloc
 
+const char *xmlParserVersion = LIBXML_VERSION_STRING;
+
 /*
  * Buffers stuff
  */
@@ -252,11 +250,19 @@
 void
 xmlInitializeGlobalState(xmlGlobalStatePtr gs)
 {
+#ifdef DEBUG_GLOBALS
+    fprintf(stderr, "Initializing globals at %lu for thread %d\n",
+	    (unsigned long) gs, xmlGetThreadId());
+#endif
+
     /*
      * Perform initialisation as required by libxml
      */
+    initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1);
     initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler);
     inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler);
+    initGenericErrorDefaultFunc(&gs->xmlGenericError);
+
     gs->oldXMLWDcompatibility = 0;
     gs->xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT;
     gs->xmlDefaultBufferSize = BASE_BUFFER_SIZE;
@@ -277,7 +283,6 @@
     gs->xmlRealloc = (xmlReallocFunc) realloc;
     gs->xmlMemStrdup = (xmlStrdupFunc) strdup;
 #endif
-    initGenericErrorDefaultFunc(&gs->xmlGenericError);
     gs->xmlGenericErrorContext = NULL;
     gs->xmlGetWarningsDefaultValue = 1;
     gs->xmlIndentTreeOutput = 0;
