diff --git a/dlls/kernel/tests/path.c b/dlls/kernel/tests/path.c
index 2f298acfac61da894bd482e226fb505a794a7cc5..304cb581490ad2024a5c75d478f32fe8c3da9b10 100644
--- a/dlls/kernel/tests/path.c
+++ b/dlls/kernel/tests/path.c
@@ -364,10 +364,12 @@ static void test_InitPathA(CHAR *newdir, CHAR *curDrive, CHAR *otherDrive)
   sprintf(tmpstr,"%s\\%s",newdir,LONGDIR);
   ok(CreateDirectoryA(tmpstr,NULL),"CreateDirectoryA failed\n");
   bRes = CreateDirectoryA("c:",NULL);
-  ok(!bRes && GetLastError() == ERROR_ACCESS_DENIED,
+  ok(!bRes && (GetLastError() == ERROR_ACCESS_DENIED  || 
+               GetLastError() == ERROR_ALREADY_EXISTS),
      "CreateDirectoryA(\"c:\" should have failed (%ld)\n", GetLastError());
   bRes = CreateDirectoryA("c:\\",NULL);
-  ok(!bRes && GetLastError() == ERROR_ACCESS_DENIED,
+  ok(!bRes && (GetLastError() == ERROR_ACCESS_DENIED  ||
+               GetLastError() == ERROR_ALREADY_EXISTS),
      "CreateDirectoryA(\"c:\\\" should have failed (%ld)\n", GetLastError());
   sprintf(tmpstr,"%s\\%s\\%s",newdir,SHORTDIR,SHORTFILE);
   hndl=CreateFileA(tmpstr,GENERIC_WRITE,0,NULL,