diff --git a/uc_file/uc_file.admin.inc b/uc_file/uc_file.admin.inc
index 1483f43..cccf8a7 100644
--- a/uc_file/uc_file.admin.inc
+++ b/uc_file/uc_file.admin.inc
@@ -220,7 +220,7 @@ function theme_uc_file_admin_files_form_show($variables) {
   }
 
   // Render everything.
-  $output .= '<p>' . t('File downloads can be attached to any Ubercart product as a product feature. For security reasons the <a href="!download_url">file downloads directory</a> is separated from the Drupal <a href="!file_url">file system</a>. Below is the list of files (and their associated Ubercart products, if any) that can be used for file downloads.', array('!download_url' => url('admin/store/settings/products/edit/features', array('query' => array('destination' => 'admin/store/products/files'))), '!file_url' => url('admin/config/media/file-system'))) . '</p>';
+  $output .= '<p>' . t('File downloads can be attached to any Ubercart product as a product feature. For security reasons the <a href="!download_url">file downloads directory</a> is separated from the Drupal <a href="!file_url">file system</a>. Below is the list of files (and their associated Ubercart products, if any) that can be used for file downloads.', array('!download_url' => url('admin/store/settings/products', array('query' => array('destination' => 'admin/store/products/files'))), '!file_url' => url('admin/config/media/file-system'))) . '</p>';
   $output .= drupal_render($form['uc_file_action']);
   $output .= drupal_render($form['uc_file_select']);
   $output .= theme('table', array('header' => $header, 'rows' => $rows));
diff --git a/uc_file/uc_file.module b/uc_file/uc_file.module
index 9abece1..2e9d7d1 100644
--- a/uc_file/uc_file.module
+++ b/uc_file/uc_file.module
@@ -281,7 +281,7 @@ function uc_file_form_user_profile_form_alter(&$form, &$form_state) {
       '#multiple' => TRUE,
       '#size' => 6,
       '#title' => t('Add file'),
-      '#description' => t('Select a file to add as a download. Newly added files will inherit the settings at the !url.', array('!url' => l(t('Ubercart file product feature settings page'), 'admin/store/settings/products/edit/features'))),
+      '#description' => t('Select a file to add as a download. Newly added files will inherit the settings at the !url.', array('!url' => l(t('Ubercart product settings page'), 'admin/store/settings/products'))),
       '#options' => $available_files,
       '#tree' => TRUE,
     );
@@ -650,7 +650,7 @@ function uc_file_uc_store_status() {
     $message[] = array(
       'status' => 'warning',
       'title' => t('File Downloads'),
-      'desc' => t('The file downloads directory is not valid or set. Set a valid directory in the <a href="!url">product feature settings</a> under the file download settings fieldset.', array('!url' => url('admin/store/settings/products/edit/features'))),
+      'desc' => t('The file downloads directory is not valid or set. Set a valid directory in the <a href="!url">product settings</a> under the file download settings tab.', array('!url' => url('admin/store/settings/products'))),
     );
   }
   else {
@@ -685,7 +685,7 @@ function uc_file_feature_delete($feature) {
  */
 function uc_file_feature_form($form, &$form_state, $node, $feature) {
   if (!is_dir(variable_get('uc_file_base_dir', NULL))) {
-    drupal_set_message(t('A file directory needs to be configured in <a href="!url">product feature settings</a> before a file can be selected.', array('!url' => url('admin/store/settings/products/edit/features'))), 'error');
+    drupal_set_message(t('A file directory needs to be configured in <a href="!url">product settings</a> under the file download settings tab before a file can be selected.', array('!url' => url('admin/store/settings/products'))), 'error');
 
     unset($form['buttons']);
     return $form;
@@ -790,7 +790,7 @@ function uc_file_feature_form($form, &$form_state, $node, $feature) {
 
   $form['uc_file_limits'] = array(
     '#type' => 'fieldset',
-    '#description' => t('Use these options to override any global download limits set at the !url.', array('!url' => l(t('Ubercart product settings page'), 'admin/store/settings/products/edit/features', array('query' => array('destination' => 'node/' . $node->nid . '/edit/features/file/add'))))),
+    '#description' => t('Use these options to override any global download limits set at the !url.', array('!url' => l(t('Ubercart product settings page'), 'admin/store/settings/products', array('query' => array('destination' => 'node/' . $node->nid . '/edit/features/file/add'))))),
     '#collapsed' => FALSE,
     '#collapsible' => FALSE,
     '#title' => t('File limitations'),
diff --git a/uc_product/uc_product.admin.inc b/uc_product/uc_product.admin.inc
index 12cd26f..35531bd 100644
--- a/uc_product/uc_product.admin.inc
+++ b/uc_product/uc_product.admin.inc
@@ -74,35 +74,25 @@ function uc_product_class_default() {
 }
 
 /**
- * Displays overview of product settings.
- *
- * @see uc_product_settings_form()
- */
-function uc_product_settings_overview() {
-  // Load the form summaries for pages beneath this path.
-  $summaries = uc_summarize_child_form_pages('admin/store/settings/products/edit');
-
-  // Theme it all up in a summaries overview.
-  return array(
-    '#theme' => 'uc_summary_overview',
-    '#summaries' => $summaries,
-  );
-}
-
-/**
  * Form to change product settings.
  *
- * @see uc_product_settings_overview()
  * @ingroup forms
  */
 function uc_product_settings_form($form, &$form_state) {
+  $form['product-settings'] = array('#type' => 'vertical_tabs');
+
+  $form['product'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Product settings'),
+    '#group' => 'product-settings',
+    '#weight' => -10,
+  );
+
   // Loop through all the integrated image widgets and build an options array.
   $options = array();
-
   foreach (module_invoke_all('uc_image_widget') as $key => $widget) {
     $options[$key] = check_plain($widget['name']);
   }
-
   if (empty($options)) {
     $options[NULL] = t('No image widgets installed.');
   }
@@ -111,7 +101,7 @@ function uc_product_settings_form($form, &$form_state) {
     $options['none'] = "Don't use any image widgets.";
   }
 
-  $form['uc_product_image_widget'] = array(
+  $form['product']['uc_product_image_widget'] = array(
     '#type' => 'radios',
     '#title' => t('Product image widget'),
     '#description' => t('The selected widget will be used to display a zoomed version of product images when they are clicked.'),
@@ -119,84 +109,45 @@ function uc_product_settings_form($form, &$form_state) {
     '#default_value' => variable_get('uc_product_image_widget', NULL),
   );
 
-  $form['uc_product_add_to_cart_qty'] = array(
+  $form['product']['uc_product_add_to_cart_qty'] = array(
     '#type' => 'checkbox',
     '#title' => t('Display an optional quantity field in the <em>Add to Cart</em> form.'),
     '#default_value' => variable_get('uc_product_add_to_cart_qty', FALSE),
-    '#summary arguments' => array(
-      t('The Quantity field in the <em>Add to Cart</em> form is enabled.'),
-      t('The Quantity field in the <em>Add to Cart</em> form is disabled.'),
-    ),
   );
-  $form['uc_product_add_to_cart_teaser'] = array(
+  $form['product']['uc_product_add_to_cart_teaser'] = array(
     '#type' => 'checkbox',
     '#title' => t('Enable <em>Add to cart</em> forms in product node teasers.'),
     '#default_value' => variable_get('uc_product_add_to_cart_teaser', TRUE),
-    '#summary arguments' => array(
-      t('The <em>Add to Cart</em> form is enabled in product teasers.'),
-      t('The <em>Add to Cart</em> form is disabled in product teasers.'),
-    ),
   );
 
-  $form['uc_add_to_cart_text'] = array(
+  $form['product']['uc_add_to_cart_text'] = array(
     '#type' => 'fieldset',
     '#title' => t('<em>Add to cart</em> button text'),
     '#description' => t('Use the textboxes to adjust the text of the submit button for <em>Add to Cart</em> forms in various places on the site.'),
     '#collapsed' => FALSE,
     '#collapsible' => FALSE,
   );
-  $form['uc_add_to_cart_text']['uc_teaser_add_to_cart_text'] = array(
+  $form['product']['uc_add_to_cart_text']['uc_teaser_add_to_cart_text'] = array(
     '#type' => 'textfield',
     '#title' => t('Teaser forms'),
     '#description' => t('For the form displayed on teasers and catalog pages.'),
     '#default_value' => variable_get('uc_teaser_add_to_cart_text', t('Add to cart')),
-    '#summary' => t('Teaser and catalog pages: %text', array('%text' => variable_get('uc_teaser_add_to_cart_text', t('Add to cart')))),
-    '#summary arguments' => array(FALSE),
   );
-  $form['uc_add_to_cart_text']['uc_product_add_to_cart_text'] = array(
+  $form['product']['uc_add_to_cart_text']['uc_product_add_to_cart_text'] = array(
     '#type' => 'textfield',
     '#title' => t('Product view'),
     '#description' => t('For the form displayed on the product view page.'),
     '#default_value' => variable_get('uc_product_add_to_cart_text', t('Add to cart')),
-    '#summary' => t('Product view pages: %text', array('%text' => variable_get('uc_teaser_add_to_cart_text', t('Add to cart')))),
-    '#summary arguments' => array(FALSE),
-  );
-
-  return system_settings_form($form);
-}
-
-/**
- * Display the settings form for all product features.
- *
- * @see _uc_product_features_summarize()
- * @ingroup forms
- */
-function uc_product_feature_settings_form($form, &$form_state) {
-  $titles = array();
-  $features = module_invoke_all('uc_product_feature');
-  foreach ($features as $feature) {
-    $titles[] = $feature['title'];
-  }
-  if (empty($titles)) {
-    $titles[] = '<em>' . t('No product features found.') . '</em>';
-  }
-  $form['features_list'] = array(
-    '#markup' => '<div><b>' . t('The following product features are enabled')
-               . ':</b><br />' . implode(', ', $titles) . '</div><br />',
-    '#summary callback' => '_uc_product_features_summarize',
-    '#summary arguments' => array($titles),
   );
 
-  foreach ($features as $feature) {
+  foreach (module_invoke_all('uc_product_feature') as $feature) {
     if (function_exists($feature['settings'])) {
       $form[$feature['id']] = array(
         '#type' => 'fieldset',
         '#title' => t('!feature settings', array('!feature' => $feature['title'])),
-        '#collapsible' => TRUE,
-        '#collapsed' => TRUE,
-        '#summary callback' => 'uc_summarize_null',
+        '#group' => 'product-settings',
       );
-      $form[$feature['id']] = array_merge($form[$feature['id']], $feature['settings'](array(), $form_state));
+      $form[$feature['id']] += $feature['settings'](array(), $form_state);
     }
   }
 
@@ -204,24 +155,6 @@ function uc_product_feature_settings_form($form, &$form_state) {
 }
 
 /**
- * Summary callback for uc_product_feature_settings_form().
- */
-function _uc_product_features_summarize($form, $titles) {
-
-  foreach ($titles as $title) {
-    $item[] = $title;
-  }
-
-  $items[] = array(
-    'data' => t('The following features are enabled:'),
-    'children' => $item,
-  );
-
-  return $items;
-
-}
-
-/**
  * Displays the product features tab on a product node edit form.
  */
 function uc_product_features($node, $fid = NULL, $pfid = NULL) {
diff --git a/uc_product/uc_product.module b/uc_product/uc_product.module
index e74c3dd..7d27ec1 100644
--- a/uc_product/uc_product.module
+++ b/uc_product/uc_product.module
@@ -45,37 +45,8 @@ function uc_product_menu() {
     'title' => 'Product settings',
     'description' => 'Configure product settings.',
     'access arguments' => array('administer products'),
-    'page callback' => 'uc_product_settings_overview',
-    'file' => 'uc_product.admin.inc',
-  );
-  $items['admin/store/settings/products/overview'] = array(
-    'title' => 'Overview',
-    'weight' => -10,
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-  );
-  $items['admin/store/settings/products/edit'] = array(
-    'title' => 'Edit',
-    'access arguments' => array('administer products'),
     'page callback' => 'drupal_get_form',
     'page arguments' => array('uc_product_settings_form'),
-    'weight' => -5,
-    'type' => MENU_LOCAL_TASK,
-    'file' => 'uc_product.admin.inc',
-  );
-  $items['admin/store/settings/products/edit/general'] = array(
-    'title' => 'Product settings',
-    'access arguments' => array('administer products'),
-    'weight' => -10,
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-    'file' => 'uc_product.admin.inc',
-  );
-  $items['admin/store/settings/products/edit/features'] = array(
-    'title' => 'Product features',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('uc_product_feature_settings_form'),
-    'access arguments' => array('administer product features'),
-    'weight' => 0,
-    'type' => MENU_LOCAL_TASK,
     'file' => 'uc_product.admin.inc',
   );
 
diff --git a/uc_product_kit/uc_product_kit.module b/uc_product_kit/uc_product_kit.module
index 4ce3de5..b206fc4 100644
--- a/uc_product_kit/uc_product_kit.module
+++ b/uc_product_kit/uc_product_kit.module
@@ -16,26 +16,6 @@ define('UC_PRODUCT_KIT_MUTABLE', 1);
  ******************************************************************************/
 
 /**
- * Implements hook_menu().
- */
-function uc_product_kit_menu() {
-  $items = array();
-
-  $items['admin/store/settings/products/edit/product-kits'] = array(
-    'title' => 'Product kits',
-    'description' => 'Configure the product kit settings.',
-    'access arguments' => array('administer product kits'),
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('uc_product_kit_settings_form'),
-    'type' => MENU_LOCAL_TASK,
-    'weight' => 1,
-    'file' => 'uc_product_kit.admin.inc',
-  );
-
-  return $items;
-}
-
-/**
  * Implements hook_permission().
  */
 function uc_product_kit_permission() {
@@ -47,6 +27,28 @@ function uc_product_kit_permission() {
 }
 
 /**
+ * Implements hook_form_FORM_ID_alter() for uc_product_settings_form().
+ */
+function uc_product_kit_form_uc_product_settings_form_alter(&$form, &$form_state) {
+  $form['product_kit'] = array(
+    '#type' => 'fieldset',
+    '#title' => 'Product kit settings',
+    '#group' => 'product-settings',
+    '#weight' => -5,
+  );
+  $form['product_kit']['uc_product_kit_mutable'] = array(
+    '#type' => 'radios',
+    '#title' => t('Product kit cart display'),
+    '#options' => array(
+      UC_PRODUCT_KIT_UNMUTABLE_NO_LIST => t('As a unit. Customers may only change how many kits they are buying. Do not list component products.'),
+      UC_PRODUCT_KIT_UNMUTABLE_WITH_LIST => t('As a unit. Customers may only change how many kits they are buying. List component products.'),
+      UC_PRODUCT_KIT_MUTABLE => t('As individual products. Customers may add or remove kit components at will. Discounts entered below are not applied to the kit price'),
+    ),
+    '#default_value' => variable_get('uc_product_kit_mutable', 0),
+  );
+}
+
+/**
  * Implements hook_form_FORM_ID_alter() for node_delete_confirm().
  */
 function uc_product_kit_form_node_delete_confirm_alter(&$form, &$form_state) {
diff --git a/uc_roles/uc_roles.module b/uc_roles/uc_roles.module
index 2fc8b80..98e628a 100644
--- a/uc_roles/uc_roles.module
+++ b/uc_roles/uc_roles.module
@@ -561,7 +561,7 @@ function uc_roles_uc_store_status() {
     $message[] = array(
       'status' => 'warning',
       'title' => t('Roles'),
-      'desc' => t('There are no product role(s) that can be assigned upon product purchase. Set product roles in the <a href="!url">product feature settings</a> under the role assignment settings fieldset.', array('!url' => url('admin/store/settings/products/edit/features'))),
+      'desc' => t('There are no product role(s) that can be assigned upon product purchase. Set product roles in the <a href="!url">product settings</a> under the role assignment settings tab.', array('!url' => url('admin/store/settings/products'))),
     );
   }
   else {
@@ -668,7 +668,7 @@ function uc_roles_feature_form($form, &$form_state, $node, $feature) {
     unset($form['buttons']);
 
     $form['no_roles'] = array(
-      '#markup' => t('You need to <a href="!url">create new roles</a> before any can be added as product features.', array('!url' => url('admin/people/permissions/roles', array('query' => array('destination' => 'admin/store/settings/products/edit/features'))))),
+      '#markup' => t('You need to <a href="!url">create new roles</a> before any can be added as product features.', array('!url' => url('admin/people/permissions/roles', array('query' => array('destination' => 'admin/store/settings/products'))))),
       '#prefix' => '<p>',
       '#suffix' => '</p>',
     );
@@ -786,7 +786,7 @@ function uc_roles_feature_form_validate($form, &$form_state) {
 
   // No roles?
   if (empty($form_state['values']['uc_roles_role'])) {
-    form_set_error('uc_roles_role', t('You must have a role to assign. You may need to <a href="!role_url">create a new role</a> or perhaps <a href="!feature_url">set role assignment defaults</a>.', array('!role_url' => url('admin/people/permissions/roles'), '!feature_url' => url('admin/store/settings/products/edit/features'))));
+    form_set_error('uc_roles_role', t('You must have a role to assign. You may need to <a href="!role_url">create a new role</a> or perhaps <a href="!feature_url">set role assignment defaults</a>.', array('!role_url' => url('admin/people/permissions/roles'), '!feature_url' => url('admin/store/settings/products'))));
   }
 
   // This role already set on this SKU?
@@ -865,7 +865,7 @@ function uc_roles_feature_form_submit($form, &$form_state) {
     }
   }
   else {
-    $description .= t('<strong>Expiration:</strong> !link (not overridden)<br />', array('!link' => l(t('Global expiration'), 'admin/store/settings/products/edit/features')));
+    $description .= t('<strong>Expiration:</strong> !link (not overridden)<br />', array('!link' => l(t('Global expiration'), 'admin/store/settings/products')));
   }
   $description .= $product_role['shippable'] ? t('<strong>Shippable:</strong> Yes<br />') : t('<strong>Shippable:</strong> No<br />');
   $description .= $product_role['by_quantity'] ? t('<strong>Multiply by quantity:</strong> Yes') : t('<strong>Multiply by quantity:</strong> No');
@@ -896,7 +896,7 @@ function uc_roles_feature_settings($form, &$form_state) {
 
   if (!count($default_role_choices)) {
     $form['no_roles'] = array(
-      '#markup' => t('You need to <a href="!url">create new roles</a> before any can be added as product features.', array('!url' => url('admin/people/permissions/roles', array('query' => array('destination' => 'admin/store/settings/products/edit/features'))))),
+      '#markup' => t('You need to <a href="!url">create new roles</a> before any can be added as product features.', array('!url' => url('admin/people/permissions/roles', array('query' => array('destination' => 'admin/store/settings/products'))))),
       '#prefix' => '<p>',
       '#suffix' => '</p>',
     );
