diff --git a/src/util/PlatformUtils.cpp b/src/util/PlatformUtils.cpp
index 564c2a61192e4d4d1cba8e4317dbf86a1d78be4c..727606f3a4ca9084c182b377e084b0d6afd3faf1 100644
--- a/src/util/PlatformUtils.cpp
+++ b/src/util/PlatformUtils.cpp
@@ -56,6 +56,10 @@
 
 /*
  * $Log$
+ * Revision 1.11  2001/02/07 17:46:34  billsch
+ * Rearranged statements in Initialize() so that platformInit() is called
+ * before an XMLMutex is created.
+ *
  * Revision 1.10  2000/07/25 20:55:23  jpolast
  * use gInitFlag as a reference to the number of times
  * Initialized was called.  this way, the terminate routines are
@@ -148,16 +152,10 @@ void XMLPlatformUtils::Initialize()
     //  like processes that cannot keep up with whether they have initialized
     //  us yet or not.
     //
-	gInitFlag++;
+    gInitFlag++;
 
     if (gInitFlag > 1)
-	    return;
-	
-    // Create the local sync mutex
-    gSyncMutex = new XMLMutex;
-
-    // Create the array for saving lazily allocated objects to be deleted at termination
-    gLazyData= new RefVectorOf<XMLDeleter>(512);
+      return;
 
     //
     //  Call the platform init method, which is implemented in each of the
@@ -167,6 +165,12 @@ void XMLPlatformUtils::Initialize()
     //
     platformInit();
 
+    // Create the local sync mutex
+    gSyncMutex = new XMLMutex;
+
+    // Create the array for saving lazily allocated objects to be deleted at termination
+    gLazyData= new RefVectorOf<XMLDeleter>(512);
+
     //
     //  Ask the per-platform code to make the desired transcoding service for
     //  us to use. This call cannot throw any exceptions or do anything that