diff --git a/archival/tar.c b/archival/tar.c
index 135bfd1..6af16f4 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -382,6 +382,7 @@
 static int
 tarExtractDirectory(TarInfo *header, int extractFlag, int tostdoutFlag)
 {
+	int result;
 
 	if (extractFlag==FALSE || tostdoutFlag==TRUE)
 		return( TRUE);
@@ -393,12 +394,15 @@
 	/* make the final component, just in case it was
 	 * omitted by create_path() (which will skip the
 	 * directory if it doesn't have a terminating '/') */
-	if (mkdir(header->name, header->mode) < 0 && errno != EEXIST) {
+	result = mkdir(header->name, header->mode);
+	/* Don't fix permissions on pre-existing directories */
+	if (result == 0) {
+		fixUpPermissions(header);
+	} else if (result < 0 && errno != EEXIST) {
 		perror_msg("%s", header->name);
 		return FALSE;
 	}
 
-	fixUpPermissions(header);
 	return( TRUE);
 }
 
diff --git a/tar.c b/tar.c
index 135bfd1..6af16f4 100644
--- a/tar.c
+++ b/tar.c
@@ -382,6 +382,7 @@
 static int
 tarExtractDirectory(TarInfo *header, int extractFlag, int tostdoutFlag)
 {
+	int result;
 
 	if (extractFlag==FALSE || tostdoutFlag==TRUE)
 		return( TRUE);
@@ -393,12 +394,15 @@
 	/* make the final component, just in case it was
 	 * omitted by create_path() (which will skip the
 	 * directory if it doesn't have a terminating '/') */
-	if (mkdir(header->name, header->mode) < 0 && errno != EEXIST) {
+	result = mkdir(header->name, header->mode);
+	/* Don't fix permissions on pre-existing directories */
+	if (result == 0) {
+		fixUpPermissions(header);
+	} else if (result < 0 && errno != EEXIST) {
 		perror_msg("%s", header->name);
 		return FALSE;
 	}
 
-	fixUpPermissions(header);
 	return( TRUE);
 }
 
