diff --git a/includes/features.ctools.inc b/includes/features.ctools.inc
index 227656b..04365c9 100644
--- a/includes/features.ctools.inc
+++ b/includes/features.ctools.inc
@@ -102,9 +102,18 @@ function ctools_features_export_render($module, $data) {
  * component module's namespace instead.
  */
 function ctools_component_features_api($module_name) {
+  static $cache = array();
   $api = array();
   foreach (_ctools_features_get_info() as $component => $info) {
-    $api[$component] = $info;
+    if ($info['module'] == 'ctools') {
+      if (!isset($cache[$component])) {
+        $api[$component] = $info;    
+        $cache[$component] = $component;
+      }
+    }
+    elseif ($info['module'] == $module_name) {
+      $api[$component] = $info;    
+    }
   }
   return $api;
 }

