diff --git a/features.drush.inc b/features.drush.inc
index 24238dc..34397c0 100644
--- a/features.drush.inc
+++ b/features.drush.inc
@@ -65,6 +65,7 @@ function features_drush_command() {
     ),
     'options' => array(
       'force' => "Force revert even if Features assumes components' state are default.",
+      'components' => "(optional) A space-delimited list of components to revert.",
     ),
     'drupal dependencies' => array('features'),
     'aliases' => array('fr'),
@@ -464,6 +465,7 @@ function _drush_features_export($stub, $dependencies, $module_name = NULL, $dire
 
 /**
  * Revert a feature to it's code definition.
+ * Optionally accept a list of components to revert.
  */
 function drush_features_revert() {
   if ($args = func_get_args()) {
@@ -494,6 +496,10 @@ function drush_features_revert() {
           }
         }
 
+        $filter= drush_get_option('components');
+        if ($filter) {
+          $components=array_intersect($components,explode(" ",$filter));
+        }
         if (empty($components)) {
           drush_log(dt('Current state already matches defaults, aborting.'), 'ok');
         }
