+@@ -569,7 +588,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
+
+ /* Change permissions before putting the file into place. */
+ set_file_attrs(fnametmp, file, NULL, fnamecmp,
+- ok_to_set_time ? 0 : ATTRS_SKIP_MTIME);
++ ok_to_set_time ? 0 : ATTRS_SKIP_MTIME | ATTRS_SKIP_ATIME);
+
+ /* move tmp file over real file */
+ if (verbose > 2)
+@@ -596,7 +615,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
+
+ do_set_file_attrs:
+ set_file_attrs(fnametmp, file, NULL, fnamecmp,
+- ok_to_set_time ? 0 : ATTRS_SKIP_MTIME);
++ ok_to_set_time ? 0 : ATTRS_SKIP_MTIME | ATTRS_SKIP_ATIME);
+
+ if (temp_copy_name) {
+ if (do_rename(fnametmp, fname) < 0) {
+diff --git a/rsync.h b/rsync.h
+--- a/rsync.h
++++ b/rsync.h
+@@ -60,6 +60,7 @@