diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index eb6afc7ab..23db82bd6 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jun 13 12:41:41 2000  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
+
+	* path.cc (mount_info::add_item): The previous patch can't handle
+	the case of overwriting a mount entry.
+
 Tue Jun 13 00:17:04 2000  Christopher Faylor <cgf@cygnus.com>
 
 	* thread.h: Shorten "current_directory" variables to "cwd_*"
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index f491be014..2b7e58be0 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -1645,13 +1645,15 @@ mount_info::add_item (const char *native, const char *posix, unsigned mountflags
 	break;
     }
 
-  /* Can't add more than MAX_MOUNTS. */
-  if (i == nmounts && nmounts < MAX_MOUNTS)
-    i = nmounts++;
-  else
+  if (i == nmounts)
     {
-      set_errno (EMFILE);
-      return -1;
+      if (nmounts < MAX_MOUNTS)
+	i = nmounts++;
+      else
+	{
+	  set_errno (EMFILE);
+	  return -1;
+	}
     }
 
   if (reg_p && add_reg_mount (nativetmp, posixtmp, mountflags))