diff --git a/VolumeManager.cpp b/VolumeManager.cpp
index 7b08858..c56380a 100644
--- a/VolumeManager.cpp
+++ b/VolumeManager.cpp
@@ -680,7 +680,7 @@
         } else if (errno != ENOENT) {
             PLOG(ERROR) << "Failed to faccessat " << mntTargetRoot << "/" << package;
         }
-        if (TEMP_FAILURE_RETRY(mkdirat(dfd.get(), package.c_str(), 0755)) == -1) {
+        if (TEMP_FAILURE_RETRY(mkdirat(dfd.get(), package.c_str(), 0755)) == -1 && errno != EEXIST) {
             PLOG(ERROR) << "Failed to mkdirat " << mntTargetRoot << "/" << package;
             return -errno;
         }
@@ -718,7 +718,8 @@
             } else if (errno != ENOENT) {
                 PLOG(ERROR) << "Failed to faccessat " << pkgMountTarget << "/" << volumeLabel;
             }
-            if (TEMP_FAILURE_RETRY(mkdirat(packageFd.get(), volumeLabel.c_str(), 0755)) == -1) {
+            if (TEMP_FAILURE_RETRY(mkdirat(packageFd.get(), volumeLabel.c_str(), 0755)) == -1 &&
+                errno != EEXIST) {
                 PLOG(ERROR) << "Failed to mkdirat " << pkgMountTarget << "/" << volumeLabel;
                 return -errno;
             }
@@ -742,7 +743,8 @@
         }
         if (TEMP_FAILURE_RETRY(faccessat(packageFd.get(), "self", F_OK, 0)) == -1) {
             if (errno == ENOENT) {
-                if (TEMP_FAILURE_RETRY(mkdirat(packageFd.get(), "self", 0755)) == -1) {
+                if (TEMP_FAILURE_RETRY(mkdirat(packageFd.get(), "self", 0755)) == -1 &&
+                    errno != EEXIST) {
                     PLOG(ERROR) << "Failed to mkdirat " << pkgMountTarget << "/self";
                     return -errno;
                 }
