diff --git a/plugins/FeedsUserProcessor.inc b/plugins/FeedsUserProcessor.inc
index d01db43..6d28515 100644
--- a/plugins/FeedsUserProcessor.inc
+++ b/plugins/FeedsUserProcessor.inc
@@ -44,6 +44,12 @@ class FeedsUserProcessor extends FeedsProcessor {
 
     // Copy the password so that we can compare it again at save.
     $user->feeds_original_pass = $user->pass;
+
+    // Reset roles array if user is replaced
+    if ($this->config['update_existing'] == FEEDS_REPLACE_EXISTING) {
+      $user->roles = array_filter($this->config['roles']);
+      $user->status = $this->config['status'];
+    }
     return $user;
   }
 
diff --git a/tests/feeds_processor_user.test b/tests/feeds_processor_user.test
index 73f8d06..6e7e3a3 100644
--- a/tests/feeds_processor_user.test
+++ b/tests/feeds_processor_user.test
@@ -88,6 +88,18 @@ class FeedsCSVtoUsersTest extends FeedsWebTestCase {
     $this->importFile('user_import', $this->absolutePath() . '/tests/feeds/users.csv');
     $this->assertText('Failed importing 2 users.');
 
+    // Change mode to replace existing and remove default role from users.
+    $edit = array(
+      "roles[$manager_rid]" => FALSE,
+      'skip_hash_check' => TRUE,
+      'update_existing' => 1,
+    );
+    $this->setSettings('user_import', 'FeedsUserProcessor', $edit);
+    // Run import again, verify that user role is removed from all users.
+    $this->importFile('user_import', $this->absolutePath() . '/tests/feeds/users.csv');
+    $count = db_query("SELECT count(*) FROM {users_roles} WHERE rid = :rid", array(':rid' => $manager_rid))->fetchField();
+    $this->assertEqual($count, 0, 'Manager role removed from all users.');
+
     // Attempt to log in as one of the imported users.
     $account = user_load_by_name('Morticia');
     $this->assertTrue($account, 'Imported user account loaded.');
