diff --git a/src/alpm_config.vala b/src/alpm_config.vala
index 3d124dea82a0f26bfc0ec4c8ced9060bc68d852a..016308f9c41fffd2aec0db6ee1213b7960904d93 100644
--- a/src/alpm_config.vala
+++ b/src/alpm_config.vala
@@ -143,7 +143,7 @@ public class AlpmConfig {
 				Process.spawn_command_line_sync ("mkdir -p %s/sync".printf (tmp_dbpath));
 				Process.spawn_command_line_sync ("ln -sf %slocal %s".printf (dbpath, tmp_dbpath));
 				Process.spawn_command_line_sync ("chmod -R 777 %s/sync".printf (tmp_dbpath));
-				Process.spawn_command_line_sync ("bash -c 'cp %ssync/*.{db,files} %s/sync'".printf (dbpath, tmp_dbpath));
+				Process.spawn_command_line_sync ("bash -c 'cp -p %ssync/*.{db,files} %s/sync'".printf (dbpath, tmp_dbpath));
 				handle = new Alpm.Handle (rootdir, tmp_dbpath, out error);
 			} catch (SpawnError e) {
 				stderr.printf ("SpawnError: %s\n", e.message);