diff --git a/nodeaccess.module b/nodeaccess.module
index 0575263..6aa4290 100644
--- a/nodeaccess.module
+++ b/nodeaccess.module
@@ -268,6 +268,32 @@ function nodeaccess_admin_form($form, $form_state) {
     );
   }
 
+  // Grant tab to node types.
+  $form['nodeaccess']['tabs'] = array(
+    '#type' => 'fieldset',
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+    '#title' => t('Content Type Grant Tab Access'),
+    '#tree' => TRUE,
+    '#description' => t('Show grant tab for the following node types.'),
+  );
+
+  $options = array();
+  foreach (node_type_get_types() as $type => $bundle) {
+    $options[$type] = array(
+      'content_type' => check_plain($bundle->name),
+    );
+  }
+  $form['nodeaccess']['tabs']['show'] = array(
+    '#type' => 'tableselect',
+    '#header' => array(
+      'content_type' => t('Content type'),
+    ),
+    '#options' => $options,
+    '#default_value' => $show,
+    '#empty' => t('No content types to add a grant tab.'),
+  );
+
   // Generate fieldsets for each node type.
   foreach (node_type_get_types() as $type => $bundle) {
     $form['nodeaccess'][$type] = array(
@@ -279,12 +305,6 @@ function nodeaccess_admin_form($form, $form_state) {
       '#theme' => 'nodeaccess_admin_form_types',
     );
 
-    $form['nodeaccess'][$type]['show'] = array(
-      '#type' => 'checkbox',
-      '#title' => t('Show grant tab for this node type'),
-      '#default_value' => isset($show[$type]) ? $show[$type] : 0,
-    );
-
     // Set default author permissions for node type.
     $author_prefs = variable_get('nodeaccess_authors', array());
     $form['nodeaccess'][$type]['author']['grant_view'] = array(
@@ -421,12 +441,6 @@ function nodeaccess_admin_form_submit($form, $form_state) {
       );
     }
     variable_set('nodeaccess_' . $type, $grants);
-    if ($form_values[$type]['show']) {
-      $allowed_types[$type] = 1;
-    }
-    else {
-      $allowed_types[$type] = 0;
-    }
     $author_prefs[$type] = $form_values[$type]['author'];
     // Also save userreference default permissions if enabled.
     if (module_exists('user_reference') && isset($form_values[$type]['user_reference'])) {
@@ -444,8 +458,14 @@ function nodeaccess_admin_form_submit($form, $form_state) {
     }
   }
   variable_set('nodeaccess_authors', $author_prefs);
-  // Save allowed node types.
+
+  // Save allowed node type grant tab.
+  $allowed_types = array();
+  foreach ($form_values['tabs']['show'] as $type => $value) {
+    $allowed_types[$type] = (bool) $value;
+  }
   variable_set('nodeaccess-types', $allowed_types);
+
   node_access_needs_rebuild(TRUE);
   drupal_set_message(t('Grants saved.'));
 }
