diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 01338e106..2404a08ba 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2003-01-10  Corinna Vinschen <corinna@vinschen.de>
+
+	* path.cc: Revert patch from 2003-01-09 to normalize a windows path
+	rather than converting to posix.
+
 2003-01-10  Corinna Vinschen <corinna@vinschen.de>
 
 	* autoload.cc (gethostname): Make call optional, return 1 if function
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index f88b03df9..61d446b21 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -205,7 +205,10 @@ normalize_posix_path (const char *src, char *dst)
   syscall_printf ("src %s", src);
 
   if (isdrive (src) || strpbrk (src, "\\:"))
-    return normalize_win32_path (src, dst);
+    {
+      cygwin_conv_to_full_posix_path (src, dst);
+      return 0;
+    }
 
   if (!isslash (src[0]))
     {
@@ -1704,7 +1707,7 @@ mount_info::conv_to_posix_path (const char *src_path, char *posix_path,
 
       if (!*p || !p[1])
 	nextchar = 0;
-      else if (*p == '/')
+      else if (isdirsep (*p))
 	nextchar = -1;
       else
 	nextchar = 1;
@@ -1755,8 +1758,7 @@ mount_info::conv_to_posix_path (const char *src_path, char *posix_path,
     {
       /* The use of src_path and not pathbuf here is intentional.
 	 We couldn't translate the path, so just ensure no \'s are present. */
-      strcpy (posix_path, src_path);
-      // slashify (src_path, posix_path, trailing_slash_p);
+      slashify (src_path, posix_path, trailing_slash_p);
     }
 
 out: