diff --git a/modules/field_ui/field_ui.module b/modules/field_ui/field_ui.module
index b828fff..90f421d 100644
--- a/modules/field_ui/field_ui.module
+++ b/modules/field_ui/field_ui.module
@@ -48,6 +48,18 @@ function field_ui_help($path, $arg) {
 }
 
 /**
+ * Implements hook_field_attach_rename_bundle().
+ */
+function field_ui_field_attach_rename_bundle($entity_type, $bundle_old, $bundle_new) {
+  // The Field UI relies on entity_get_info() to build menu items for entity
+  // field administration pages. Clear the entity info cache and ensure that
+  // the menu is rebuilt.
+  entity_info_cache_clear();
+  menu_rebuild();
+}
+
+
+/**
  * Implements hook_menu().
  */
 function field_ui_menu() {
diff --git a/modules/node/node.module b/modules/node/node.module
index 2dd1926..90a339b 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -514,6 +514,9 @@ function node_type_save($info) {
       ->condition('type', $existing_type)
       ->execute();
 
+    // Clear the node type cache before hooks are invoked.
+    node_type_cache_reset();
+
     if (!empty($type->old_type) && $type->old_type != $type->type) {
       field_attach_rename_bundle('node', $type->old_type, $type->type);
     }
@@ -526,15 +529,15 @@ function node_type_save($info) {
       ->fields($fields)
       ->execute();
 
+    // Clear the node_type cache before hooks are invoked.
+    node_type_cache_reset();
+
     field_attach_create_bundle('node', $type->type);
 
     module_invoke_all('node_type_insert', $type);
     $status = SAVED_NEW;
   }
 
-  // Clear the node type cache.
-  node_type_cache_reset();
-
   return $status;
 }
 
