diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 7bed49e7f..908296291 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,10 @@
+2010-06-02  Corinna Vinschen  <corinna@vinschen.de>
+
+	* ntdll.h (STATUS_BAD_NETWORK_PATH): Define.
+	(STATUS_BAD_NETWORK_NAME): Define.
+	* path.cc (symlink_info::check): Convert STATUS_BAD_NETWORK_PATH and
+	STATUS_BAD_NETWORK_NAME into an immediate ENOENT.
+
 2010-06-01  Corinna Vinschen  <corinna@vinschen.de>
 
 	* exceptions.cc (open_stackdumpfile): Correctly append .stackdump
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h
index 7ac15cb18..17ffb7659 100644
--- a/winsup/cygwin/ntdll.h
+++ b/winsup/cygwin/ntdll.h
@@ -41,7 +41,9 @@
 #define STATUS_DISK_FULL              ((NTSTATUS) 0xc000007f)
 #define STATUS_WORKING_SET_QUOTA      ((NTSTATUS) 0xc00000a1)
 #define STATUS_NOT_SUPPORTED          ((NTSTATUS) 0xc00000bb)
+#define STATUS_BAD_NETWORK_PATH       ((NTSTATUS) 0xc00000be)
 #define STATUS_INVALID_NETWORK_RESPONSE ((NTSTATUS) 0xc00000c3)
+#define STATUS_BAD_NETWORK_NAME       ((NTSTATUS) 0xc00000cc)
 #define STATUS_DIRECTORY_NOT_EMPTY    ((NTSTATUS) 0xc0000101)
 #define STATUS_CANNOT_DELETE          ((NTSTATUS) 0xc0000121)
 #define STATUS_INVALID_LEVEL          ((NTSTATUS) 0xc0000148)
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 0cce1c946..8ebd7cce9 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -2379,6 +2379,8 @@ restart:
 	     not tested here unless proved necessary. */
 	  if (status == STATUS_OBJECT_PATH_NOT_FOUND
 	      || status == STATUS_OBJECT_NAME_INVALID
+	      || status == STATUS_BAD_NETWORK_PATH
+	      || status == STATUS_BAD_NETWORK_NAME
 	      || status == STATUS_NO_MEDIA_IN_DEVICE)
 	    {
 	      set_error (ENOENT);