diff --git a/features.module b/features.module
index e49dbb2..48c8b7d 100644
--- a/features.module
+++ b/features.module
@@ -278,9 +278,21 @@ function features_modules_disabled($modules) {
  */
 function features_modules_enabled($modules) {
   // Find any features modules that were enabled.
-  if ($modules = array_intersect(array_keys(features_get_features()), $modules)) {
+  if (variable_get('install_task') != 'done') {
+    // During an installation we want to avoid expensive calls to
+    // features_get_features().
     foreach ($modules as $module) {
-      features_enable_feature($module);
+      $info = drupal_parse_info_file(drupal_get_path('module', $module) . '/' . $module . '.info');
+      if (isset($info['features'])) {
+        features_enable_feature($module);
+      }
+    }
+  }
+  else {
+    if ($modules = array_intersect(array_keys(features_get_features()), $modules)) {
+      foreach ($modules as $module) {
+        features_enable_feature($module);
+      }
     }
   }
 }

