diff --git a/Misc/NEWS b/Misc/NEWS
index e372a62..6b7a94d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -266,6 +266,8 @@
 Library
 -------
 
+- Issue #5913: os.listdir() should fail for empty path on windows.
+
 - Issue #5084: unpickling now interns the attribute names of pickled objects,
   saving memory and avoiding growth in size of subsequent pickles. Proposal
   and original patch by Jake McGuire.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 7a96300..511b385 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -2183,7 +2183,6 @@
 		if (PyArg_ParseTuple(args, "U:listdir", &po)) {
 			WIN32_FIND_DATAW wFileData;
 			Py_UNICODE *wnamebuf;
-			Py_UNICODE wch;
 			/* Overallocate for \\*.*\0 */
 			len = PyUnicode_GET_SIZE(po);
 			wnamebuf = malloc((len + 5) * sizeof(wchar_t));
@@ -2192,10 +2191,12 @@
 				return NULL;
 			}
 			wcscpy(wnamebuf, PyUnicode_AS_UNICODE(po));
-			wch = len > 0 ? wnamebuf[len-1] : '\0';
-			if (wch != L'/' && wch != L'\\' && wch != L':')
-				wnamebuf[len++] = L'\\';
-			wcscpy(wnamebuf + len, L"*.*");
+			if (len > 0) {
+				Py_UNICODE wch = wnamebuf[len-1];
+				if (wch != L'/' && wch != L'\\' && wch != L':')
+					wnamebuf[len++] = L'\\';
+				wcscpy(wnamebuf + len, L"*.*");
+			}
 			if ((d = PyList_New(0)) == NULL) {
 				free(wnamebuf);
 				return NULL;
@@ -2266,8 +2267,8 @@
 		char ch = namebuf[len-1];
 		if (ch != SEP && ch != ALTSEP && ch != ':')
 			namebuf[len++] = '/';
+		strcpy(namebuf + len, "*.*");
 	}
-	strcpy(namebuf + len, "*.*");
 
 	if ((d = PyList_New(0)) == NULL)
 		return NULL;
