diff --git a/modules/node/content_types.inc b/modules/node/content_types.inc
index ab4b2e6..8d42678 100644
--- a/modules/node/content_types.inc
+++ b/modules/node/content_types.inc
@@ -331,11 +331,15 @@ function node_type_form_submit($form, &$form_state) {
   // Saving the content type after saving the variables allows modules to act
   // on those variables via hook_node_type_insert().
   $status = node_type_save($type);
-
   node_types_rebuild();
   menu_rebuild();
-  $t_args = array('%name' => $type->name);
 
+  // Grant access to the administrator role for any new permissions associated
+  // with the content type.
+  user_modules_installed(array('node'));
+
+  // Display a message to the user about the content type.
+  $t_args = array('%name' => $type->name);
   if ($status == SAVED_UPDATED) {
     drupal_set_message(t('The content type %name has been updated.', $t_args));
   }
diff --git a/modules/taxonomy/taxonomy.admin.inc b/modules/taxonomy/taxonomy.admin.inc
index 8498681..bf123e1 100644
--- a/modules/taxonomy/taxonomy.admin.inc
+++ b/modules/taxonomy/taxonomy.admin.inc
@@ -203,6 +203,10 @@ function taxonomy_form_vocabulary_submit($form, &$form_state) {
       break;
   }
 
+  // Grant access to the administrator role for any new permissions associated
+  // with the vocabulary.
+  user_modules_installed(array('taxonomy'));
+
   $form_state['values']['vid'] = $vocabulary->vid;
   $form_state['vid'] = $vocabulary->vid;
   $form_state['redirect'] = 'admin/structure/taxonomy';
