diff --git a/flag.module b/flag.module
index bca0b47..55a33ce 100644
--- a/flag.module
+++ b/flag.module
@@ -2572,6 +2572,31 @@ 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) {
+  $fids = 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,
+                    )
+                  );
+  foreach ($fids as $fid) {
+    $flag = flag_get_flag($fid->name);
+    foreach ($flag->types as $key => $flag_type) {
+      if ($flag_type == $bundle_old) {
+        $flag->types[$key] = $bundle_new;
+      }
+    }
+    $flag->save();
+  }
+}
+
 // ---------------------------------------------------------------------------
 // Entity Metadata callbacks
 
