Index: /trunk/src/VBox/Runtime/r3/dir.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/dir.cpp	(revision 78183)
+++ /trunk/src/VBox/Runtime/r3/dir.cpp	(revision 78184)
@@ -534,6 +534,4 @@
     if (!pszFilter)
     {
-        /* Note! RTPathAbs currently strips trailing slashes, so we have
-           to inspect pszPath to figure it out. */
         if (*pszPath != '\0')
         {
Index: /trunk/src/VBox/Runtime/r3/win/path-win.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/win/path-win.cpp	(revision 78183)
+++ /trunk/src/VBox/Runtime/r3/win/path-win.cpp	(revision 78184)
@@ -35,4 +35,5 @@
 #include <iprt/path.h>
 #include <iprt/assert.h>
+#include <iprt/ctype.h>
 #include <iprt/err.h>
 #include <iprt/ldr.h>
@@ -682,5 +683,11 @@
             RTUTF16 wszFullPath[RTPATH_MAX];
             if (GetFullPathNameW(wszCurPath, RTPATH_MAX, wszFullPath, NULL))
+            {
+                if (   wszFullPath[1] == ':'
+                    && RT_C_IS_LOWER(wszFullPath[0]))
+                    wszFullPath[0] = RT_C_TO_UPPER(wszFullPath[0]);
+
                 rc = RTUtf16ToUtf8Ex(&wszFullPath[0], RTSTR_MAX, &pszPath, cchPath, NULL);
+            }
             else
                 rc = RTErrConvertFromWin32(GetLastError());
