-@@ -1916,7 +1925,7 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
- if (!(file->mode & S_IWUSR))
- do_chmod(fname, file->mode);
- if (need_retouch_dir_times)
-- set_modtime(fname, file->modtime, file->mode);
-+ set_times(fname, file->modtime, file->modtime, file->mode);
- if (allowed_lull && !(counter % lull_mod))
- maybe_send_keepalive();
- else if (!(counter & 0xFF))
+@@ -2056,7 +2065,7 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+ STRUCT_STAT st;
+ if (link_stat(fname, &st, 0) == 0
+ && cmp_time(st.st_mtime, file->modtime) != 0)
+- set_modtime(fname, file->modtime, file->mode);
++ set_times(fname, file->modtime, file->modtime, file->mode);
+ }
+ if (counter >= loopchk_limit) {
+ if (allowed_lull)