diff --git a/features.drush.inc b/features.drush.inc
index 24238dc..85546a1 100644
--- a/features.drush.inc
+++ b/features.drush.inc
@@ -85,6 +85,9 @@ function features_drush_command() {
     'arguments' => array(
       'feature' => 'The feature in question.',
     ),
+    'options' => array(
+      'components' => "(optional) A space-delimited list of components of which to limit the diff"
+      ),
     'drupal dependencies' => array('features', 'diff'),
     'aliases' => array('fd'),
   );
@@ -548,7 +551,8 @@ function drush_features_revert_all() {
 }
 
 /**
- * Show the diff of a feature module.
+ * Show the diff of a feature module. Optionally pass in a list of components to
+ * restrict the diff to.
  */
 function drush_features_diff() {
   if (!$args = func_get_args()) {
@@ -607,6 +611,10 @@ function drush_features_diff() {
   drush_print(sprintf($green, dt('Overrides:  drush features-update will update the exported feature with the displayed overrides')));
   drush_print();
 
+  $included = drush_get_option("components");
+  if ($included) {
+    $overrides=array_intersect_key($overrides,array_flip(explode(" ",$included)));
+  }
   foreach ($overrides as $component => $items) {
     $diff = new Diff(explode("\n", $items['default']), explode("\n", $items['normal']));
     drush_print();
