diff --git a/platform/backup.provision.inc b/platform/backup.provision.inc
index 6bceb49..c3b1b4e 100644
--- a/platform/backup.provision.inc
+++ b/platform/backup.provision.inc
@@ -77,6 +77,8 @@ function drush_provision_drupal_provision_backup() {
 
     // Write the uncloaked credentials to the settings.php
     _provision_drupal_create_settings_file();
+    provision_drupal_sync_site();
+
   }
 
   $olddir = getcwd();
@@ -103,6 +105,8 @@ function drush_provision_drupal_provision_backup() {
     drush_log(dt("Re-cloaking database credentials after backup"));
     drush_set_option('provision_db_cloaking', TRUE);
     _provision_drupal_create_settings_file();
+    provision_drupal_sync_site();
+
   }
 
   if (!$result && !drush_get_option('force', false)) {
diff --git a/platform/deploy.provision.inc b/platform/deploy.provision.inc
index aff2d27..d1840f8 100644
--- a/platform/deploy.provision.inc
+++ b/platform/deploy.provision.inc
@@ -79,6 +79,7 @@ function drush_provision_drupal_pre_provision_deploy($backup_file) {
     // Load the newly created information, including re-loading the new db creds.
     drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_SITE);
     _provision_drupal_create_settings_file();
+    provision_drupal_sync_site();
 
     $site_packages = drush_get_option('packages', array(), 'site');
     $drupal_packages = drush_get_option('packages', array(), 'drupal');
@@ -130,6 +131,8 @@ function drush_provision_drupal_pre_provision_deploy_rollback() {
         ->fail('Swapping the @path1 and @path2 directories has failed.', 'DRUSH_PERM_ERROR');
 
        _provision_drupal_create_settings_file();
+       provision_drupal_sync_site();
+
        provision_save_site_data();
     }
   }
diff --git a/platform/install.provision.inc b/platform/install.provision.inc
index f920a97..b3e4926 100644
--- a/platform/install.provision.inc
+++ b/platform/install.provision.inc
@@ -49,6 +49,7 @@ function drush_provision_drupal_provision_install() {
  // Requires at least the database settings to complete.
   provision_prepare_environment();
   _provision_drupal_create_settings_file();
+  provision_drupal_sync_site();
 
   provision_save_site_data();
 
diff --git a/platform/migrate.provision.inc b/platform/migrate.provision.inc
index b64b9e7..8409a4d 100644
--- a/platform/migrate.provision.inc
+++ b/platform/migrate.provision.inc
@@ -22,6 +22,7 @@ function drush_provision_drupal_pre_provision_migrate($platform, $new_uri = null
   d()->site_enabled = false;
   _provision_drupal_create_settings_file();
   drush_invoke('provision-backup');
+  provision_drupal_sync_site();
 
   drush_set_option('old_platform', d()->platform->name);
 
@@ -51,6 +52,8 @@ function drush_provision_drupal_pre_provision_migrate_rollback($platform, $new_u
   drush_log(dt("Bringing site out of maintenance"));
   d()->site_enabled = true;
   _provision_drupal_create_settings_file();
+  provision_drupal_sync_site();
+
   $success =  provision_file()->unlink(drush_get_option('backup_file'))
     ->succeed('Removed unused migration site package')
     ->fail('Could not remove unused migration site package');
diff --git a/platform/provision_drupal.drush.inc b/platform/provision_drupal.drush.inc
index 071806e..f613c43 100644
--- a/platform/provision_drupal.drush.inc
+++ b/platform/provision_drupal.drush.inc
@@ -99,11 +99,12 @@ function drush_provision_drupal_provision_install_backend() {
  * Sync the current Drupal platform and, if applicable, site. Call after
  * finishing operations that affect the filesystem.
  */
-function provision_drupal_sync_site() {
+function provision_drupal_sync_site($exclude = array()) {
   d()->service('http')->sync(d()->root, array('exclude-sites' => TRUE));
   if (d()->type === 'site') {
     // Sync all filesystem changes to the remote server.
-    d()->service('http')->sync(d()->site_path, array('no-delete' => TRUE));
+    $options = array_merge(array('no-delete' => TRUE), $exclude);
+    d()->service('http')->sync(d()->site_path, $options);
   }
 }
 
@@ -119,7 +120,6 @@ function provision_drupal_sync_site() {
 function _provision_drupal_create_settings_file() {
   $config = new provisionConfig_drupal_settings(d()->name, drush_get_context('site'));
   $config->write();
-  provision_drupal_sync_site();
 }
 
 class provisionConfig_drupal_settings extends provisionConfig {
diff --git a/platform/restore.provision.inc b/platform/restore.provision.inc
index d6f3170..20f5bc8 100644
--- a/platform/restore.provision.inc
+++ b/platform/restore.provision.inc
@@ -22,6 +22,8 @@ function drush_provision_drupal_pre_provision_restore($restore_file) {
   drush_log(dt("Putting site under maintenance"));
   d()->site_enabled = false;
   _provision_drupal_create_settings_file();
+  provision_drupal_sync_site();
+
   drush_invoke('provision-backup');
 }
 
diff --git a/platform/verify.provision.inc b/platform/verify.provision.inc
index 4864859..797bd71 100644
--- a/platform/verify.provision.inc
+++ b/platform/verify.provision.inc
@@ -11,6 +11,9 @@ function drush_provision_drupal_provision_verify_validate() {
     provision_prepare_environment();
 
     _provision_drupal_create_settings_file();
+    $options = array('exclude-path' => 'files/*' . PATH_SEPARATOR . 'private/*', 'update' => TRUE );
+    provision_drupal_sync_site($options);
+
     drush_errors_on();
     drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_FULL);
   }
@@ -77,7 +80,10 @@ function drush_provision_drupal_pre_provision_verify() {
     _provision_drupal_create_directories();
     _provision_drupal_maintain_aliases();
     // Requires at least the database settings to complete.
-   _provision_drupal_create_settings_file();
+
+    _provision_drupal_create_settings_file();
+    $options = array('exclude-path' => 'files/*' . PATH_SEPARATOR . 'private/*', 'update' => TRUE );
+    provision_drupal_sync_site($options);
   }
 }
 
