diff --git platform/backup.provision.inc platform/backup.provision.inc
index 6bceb49..b4c01b1 100644
--- platform/backup.provision.inc
+++ platform/backup.provision.inc
@@ -79,25 +79,8 @@ function drush_provision_drupal_provision_backup() {
     _provision_drupal_create_settings_file();
   }
 
-  $olddir = getcwd();
-  // we need to do this because some retarded implementations of tar (e.g. SunOS) don't support -C
-
-  if (!chdir(d()->site_path)) {
-    return drush_set_error('PROVISION_BACKUP_PATH_NOT_FOUND', dt('cannot change directory to %dir', array('%dir' => d()->site_path)));
-  }
-  if (substr($backup_file, -2) == 'gz') {
-    // same as above: some do not support -z
-    $command = "tar cpf - . | gzip -c > %s";
-  } else {
-    $command = "tar cpf %s .";
-  }
-  $result = drush_shell_exec($command,  $backup_file);
-
-  // Get the size of the backup
-  $size = filesize($backup_file);
-  drush_set_option('backup_file_size', $size);
-
-  chdir($olddir);
+  drush_set_option('destination', $backup_file);
+  $result = drush_invoke('archive-dump');
 
   if (drush_get_option('cloaking_off_temp', FALSE)) {
     drush_log(dt("Re-cloaking database credentials after backup"));
