diff --git a/src/os_win32.c b/src/os_win32.c
index 85c8a57..8065ee8 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -3108,6 +3108,8 @@
     char_u	*buf,
     int		len)
 {
+    char_u  abuf[_MAX_PATH + 1];
+
     /*
      * Originally this was:
      *    return (getcwd(buf, len) != NULL ? OK : FAIL);
@@ -3121,7 +3123,13 @@
 
 	if (GetCurrentDirectoryW(_MAX_PATH, wbuf) != 0)
 	{
-	    char_u  *p = utf16_to_enc(wbuf, NULL);
+	    WCHAR   wcbuf[_MAX_PATH + 1];
+	    char_u  *p;
+
+	    if (GetLongPathNameW(wbuf, wcbuf, _MAX_PATH) != 0)
+		p = utf16_to_enc(wcbuf, NULL);
+	    else
+		p = utf16_to_enc(wbuf, NULL);
 
 	    if (p != NULL)
 	    {
@@ -3133,7 +3141,14 @@
 	return FAIL;
     }
 #endif
-    return (GetCurrentDirectory(len, (LPSTR)buf) != 0 ? OK : FAIL);
+    if (GetCurrentDirectory(len, (LPSTR)buf) == 0)
+	return FAIL;
+    if (GetLongPathNameA((LPSTR)buf, (LPSTR)abuf, _MAX_PATH) == 0)
+	// return the short path name
+	return OK;
+
+    vim_strncpy(abuf, buf, len - 1);
+    return OK;
 }
 
 /*
