diff --git a/drupal/sites/all/modules/contrib/features/features.export.inc b/drupal/sites/all/modules/contrib/features/features.export.inc
index 80cd886..25ee344 100644
--- a/drupal/sites/all/modules/contrib/features/features.export.inc
+++ b/drupal/sites/all/modules/contrib/features/features.export.inc
@@ -722,7 +722,8 @@ function features_get_component_states($features = array(), $rebuild_only = TRUE
     $cache = array();
   }
 
-  $features = !empty($features) ? $features : array_keys(features_get_features());
+  $all_features = features_get_features();
+  $features = !empty($features) ? $features : array_keys($all_features);
 
   // Retrieve only rebuildable components if requested.
   features_include();
@@ -737,8 +738,8 @@ function features_get_component_states($features = array(), $rebuild_only = TRUE
 
   foreach ($features as $feature) {
     $cache[$feature] = isset($cache[$feature]) ? $cache[$feature] : array();
-    if (module_exists($feature)) {
-      foreach ($components as $component) {
+    if (module_exists($feature) && !empty($all_features[$feature])) {
+      foreach (array_intersect($all_features[$feature]->components, $components) as $component) {
         if (!isset($cache[$feature][$component])) {
           $normal = features_get_signature('normal', $feature, $component, $reset);
           $default = features_get_signature('default', $feature, $component, $reset);
diff --git a/drupal/sites/all/modules/contrib/features/features.module b/drupal/sites/all/modules/contrib/features/features.module
index 03f4491..bd1a7b9 100644
--- a/drupal/sites/all/modules/contrib/features/features.module
+++ b/drupal/sites/all/modules/contrib/features/features.module
@@ -495,6 +495,10 @@ function features_get_info($type = 'module', $name = NULL, $reset = FALSE) {
         drupal_alter('system_info', $row->info, $row);
         if (!empty($row->info['features'])) {
           $data['feature'][$row->name] = $row;
+          $data['feature'][$row->name]->components = array_keys($row->info['features']);
+          if (!empty($row->info['dependencies'])) {
+            $data['feature'][$row->name]->components[] = 'dependencies';
+          }
         }
         $data['module'][$row->name] = $row;
       }
