910fbe2
diff -up mc-2007-06-04-22/src/file.c.preserveattr mc-2007-06-04-22/src/file.c
910fbe2
--- mc-2007-06-04-22/src/file.c.preserveattr	2007-11-14 14:45:23.000000000 +0100
910fbe2
+++ mc-2007-06-04-22/src/file.c	2007-11-14 14:45:23.000000000 +0100
910fbe2
@@ -800,7 +800,7 @@ copy_file_file (FileOpContext *ctx, cons
910fbe2
 	    }
910fbe2
 	}
910fbe2
 
910fbe2
-	if (!appending) {
910fbe2
+	if (!appending && ctx->preserve) {
910fbe2
 	    while (mc_chmod (dst_path, (src_mode & ctx->umask_kill))) {
910fbe2
 		temp_status = file_error (
910fbe2
 			_(" Cannot chmod target file \"%s\" \n %s "), dst_path);