diff --git a/features.admin.inc b/features.admin.inc
index 2483ece..3597713 100644
--- a/features.admin.inc
+++ b/features.admin.inc
@@ -5,6 +5,52 @@
  * Forms for Features admin screens
  */
 
+
+/**
+ * Settings form for features
+ */
+function features_settings_form($form, $form_state) {
+  $form = array();
+
+  $components = features_get_components();
+  uasort($components, 'features_compare_component_name');
+  $form['show_components'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Show components on create/edit feature form.'),
+    '#description' => t('Components with no options will not be shown no matter the setting below. Disabled components cannot be used with admin form.')
+  );
+  foreach ($components as $compontent => $info) {
+    if (empty($info['feature_source']) && empty($info['features_source'])) {
+      continue;
+    }
+    $form['show_components']['features_admin_show_component_' . $compontent] = array(
+      '#title' => t('@name (@machine)', array('@name' => $info['name'], '@machine' => $compontent)),
+      '#type' => 'checkbox',
+      '#default_value' => variable_get('features_admin_show_component_' . $compontent, TRUE),
+    );
+    if ($compontent == 'menu_links' && ($menus = menu_get_menus())) {
+      $form['show_components']['features_admin_menu_links'] = array(
+        '#title' => t('Advanced Menu Link Settings'),
+        '#type' => 'fieldset',
+        '#collapsed' => TRUE,
+        '#collapsible' => TRUE,
+        '#states' => array(
+          'invisible' => array(
+            'input[name="features_admin_show_component_menu_links"]' => array('checked' => FALSE),
+          ),
+        ),
+      );
+      $form['show_components']['features_admin_menu_links']['features_admin_menu_links_menus'] = array(
+        '#title' => t('Allowed menus for menu links'),
+        '#type' => 'checkboxes',
+        '#options' =>  array_map('check_plain', $menus),
+        '#default_value' => variable_get('features_admin_menu_links_menus', array_keys(menu_get_menus())),
+      );
+    }
+  }
+  return system_settings_form($form);
+}
+
 /**
  * Form constructor for features export form.
  *
@@ -278,6 +324,9 @@ function _features_export_form_components(&$form, &$form_state) {
 
   $sections = array('included', 'detected', 'added');
   foreach ($export['components'] as $component => $component_info) {
+    if (!variable_get('features_admin_show_component_' . $component, TRUE)) {
+      continue;
+    }
     $label = (isset($component_info['name']) ?
       $component_info['name'] . " <span>(" . check_plain($component) . ")</span>" : check_plain($component));
 
@@ -439,6 +488,10 @@ function _features_export_build($feature, &$form_state) {
     if ($reset) {
       unset($form_state['values'][$component]);
     }
+    if (!variable_get('features_admin_show_component_' . $component, TRUE)) {
+      unset($components[$component]);
+      continue;
+    }
     // User-selected components take precedence.
     $stub[$component] = array();
     $stub_count[$component] = 0;
diff --git a/features.module b/features.module
index f9efda8..8a4216c 100644
--- a/features.module
+++ b/features.module
@@ -104,6 +104,18 @@ function features_menu() {
     'file' => "features.admin.inc",
     'weight' => 10,
   );
+  $items['admin/structure/features/settings'] = array(
+    'title' => 'Settings',
+    'description' => 'Adjust settings for using features module.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('features_settings_form'),
+    'access callback' => 'user_access',
+    'access arguments' => array('administer features'),
+    'type' => MENU_LOCAL_TASK,
+    'file' => "features.admin.inc",
+    'weight' => 11,
+  );
+
 
   $items['admin/structure/features/%feature'] = array(
     'title callback' => 'features_get_feature_title',
diff --git a/includes/features.menu.inc b/includes/features.menu.inc
index e8f5c38..23888e1 100644
--- a/includes/features.menu.inc
+++ b/includes/features.menu.inc
@@ -135,7 +135,8 @@ function menu_links_features_export_options() {
   // Need to set this to TRUE in order to get menu links that the
   // current user may not have access to (i.e. user/login)
   $menu_admin = TRUE;
-  $menu_links = menu_parent_options(menu_get_menus(), array('mlid' => 0));
+  $use_menus = array_intersect_key(menu_get_menus(), array_flip(array_filter(variable_get('features_admin_menu_links_menus', array_keys(menu_get_menus())))));
+  $menu_links = menu_parent_options($use_menus, array('mlid' => 0));
   $options = array();
   foreach ($menu_links as $key => $name) {
     list($menu_name, $mlid) = explode(':', $key, 2);
