diff --git a/src/port/path.c b/src/port/path.c
index 7621e39a0d6f4e10a3543ba1f01086a88f1156db..8646eacc0644b3456072963cd6a3c3f3cf244e8b 100644
--- a/src/port/path.c
+++ b/src/port/path.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/port/path.c,v 1.21 2004/07/10 22:58:42 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/port/path.c,v 1.22 2004/07/11 02:59:42 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -389,7 +389,26 @@ static void
 trim_trailing_separator(char *path)
 {
 	char *p = path + strlen(path);
-	
+
+#ifdef WIN32
+    /* Skip over network and drive specifiers for win32 */
+    if (strlen(path) >= 2)
+    {
+        if (IS_DIR_SEP(path[0]) && IS_DIR_SEP(path[1]))
+        {
+        	path += 2;
+			while (*path && !IS_DIR_SEP(*path))
+				path++;
+		}
+        else if (isalpha(path[0]) && path[1] == ':')
+        {
+            path++;
+	        if (IS_DIR_SEP(path[1]))
+    	    	path++;
+    	}
+    }
+#endif
+
 	/* trim off trailing slashes */
 	if (p > path)
 		for (p--; p > path && IS_DIR_SEP(*p); p--)