diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c
index 9457c9c..65bf792 100644
--- a/hw/xwin/InitOutput.c
+++ b/hw/xwin/InitOutput.c
@@ -425,7 +425,15 @@ winFixupPaths (void)
 #ifdef READ_FONTDIRS
     {
         /* Open fontpath configuration file */
+#if defined WIN32 && defined __MINGW32__
+        static Bool once = False;
+        char *buffer = strdup("font-dirs");
+        FILE *fontdirs = fopen(buffer, "rt");
+        if (once) fontdirs = NULL;
+        else once = True;
+#else
         FILE *fontdirs = fopen(ETCX11DIR "/font-dirs", "rt");
+#endif
         if (fontdirs != NULL)
         {
             char buffer[256];
@@ -602,7 +610,7 @@ winFixupPaths (void)
 
 #ifdef RELOCATE_PROJECTROOT
     if (1) {
-      const char *libx11dir = "/usr/X11R6/lib/X11";
+      const char *libx11dir = PROJECTROOT "/share/X11";
       size_t libx11dir_len = strlen(libx11dir);
 
       if (strncmp(libx11dir, rgbPath, libx11dir_len) == 0)
