diff --git a/migrate_tools.drush.inc b/migrate_tools.drush.inc
index 30ddf59..d4e8387 100644
--- a/migrate_tools.drush.inc
+++ b/migrate_tools.drush.inc
@@ -73,6 +73,7 @@ function migrate_tools_drush_command() {
       'group' => 'A comma-separated list of migration groups to rollback',
       'tag' => 'ID of the migration tag to rollback',
       'feedback' => 'Frequency of progress messages, in items processed',
+      'missing-from-source' => 'Rollback only items missing from the source',
     ),
     'arguments' => array(
       'migration' => 'Name of migration(s) to rollback. Delimit multiple using commas.',
@@ -83,6 +84,7 @@ function migrate_tools_drush_command() {
       'migrate-rollback --tag=user' => 'Rollback all migrations with the user tag',
       'migrate-rollback --group=beer --tag=user' => 'Rollback all migrations in the beer group and with the user tag',
       'migrate-rollback beer_term,beer_node' => 'Rollback imported terms and nodes',
+      'migrate-rollback --missing-from-source beer_term' => 'Rollback only the imported terms that are no longer available from the source',
     ),
     'drupal dependencies' => array('migrate_tools'),
     'aliases' => array('mr'),
@@ -287,6 +289,7 @@ function drush_migrate_tools_migrate_rollback($migration_names = '') {
   $group_names = drush_get_option('group');
   $tag_names = drush_get_option('tag');
   $all = drush_get_option('all');
+  $missing_only = drush_get_option('missing-from-source');
   $options = [];
   if (!$all && !$group_names && !$migration_names && !$tag_names) {
     drush_set_error('MIGRATE_ERROR', dt('You must specify --all, --group, --tag, or one or more migration names separated by commas'));
@@ -305,13 +308,14 @@ function drush_migrate_tools_migrate_rollback($migration_names = '') {
   }
 
   // Take it one group at a time, rolling back the migrations within each group.
+  $operation = $missing_only ? 'rollbackMissingItems' : 'rollback';
   foreach ($migrations as $group_id => $migration_list) {
     // Roll back in reverse order.
     $migration_list = array_reverse($migration_list);
     foreach ($migration_list as $migration_id => $migration) {
       $executable = new MigrateExecutable($migration, $log, $options);
       // drush_op() provides --simulate support.
-      drush_op(array($executable, 'rollback'));
+      drush_op(array($executable, $operation));
     }
   }
 }
