diff --git a/flag.module b/flag.module
index 02eeb25..be229b4 100644
--- a/flag.module
+++ b/flag.module
@@ -2558,6 +2558,32 @@ function flag_ctools_plugin_directory($module, $plugin) {
   }
 }
 
+/**
+ * Implements hook_field_attach_rename_bundle().
+ */
+function flag_field_attach_rename_bundle($entity_type, $bundle_old, $bundle_new) {
+  $results = db_query('SELECT f.name
+                    FROM {flag_types} ft
+                    JOIN {flag} f
+                      ON f.fid = ft.fid AND f.entity_type = :entity_type
+                    WHERE type = :bundle_old',
+                    array(
+                      ':entity_type' => $entity_type,
+                      ':bundle_old' => $bundle_old,
+                    )
+                  );
+  $flag_names = $results->fetchCol();
+  foreach ($flag_names as $flag_name) {
+    $flag = flag_get_flag($flag_name);
+    foreach ($flag->types as $key => $type) {
+      if ($type == $bundle_old) {
+        $flag->types[$key] = $bundle_new;
+      }
+    }
+    $flag->save();
+  }
+}
+
 // ---------------------------------------------------------------------------
 // Entity Metadata callbacks
 
