diff --git a/flag.module b/flag.module
index bca0b47..f5611c8 100644
--- a/flag.module
+++ b/flag.module
@@ -2572,6 +2572,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) {
+  $query = 'SELECT ft.fid
+            FROM {flag_types} ft
+            JOIN {flag} f
+              ON f.fid = ft.fid AND f.entity_type = :entity_type
+            WHERE type = :bundle_old';
+  $query_args = array(
+    ':entity_type' => $entity_type,
+    ':bundle_old' => $bundle_old,
+  );
+  $fid = db_query($query, $query_args)->fetchField();
+  if ($fid) {
+    $query = 'UPDATE {flag_types}
+              SET type = :type
+              WHERE fid = :fid';
+    $query_args = array(
+      ':type' => $bundle_new,
+      ':fid' => $fid,
+    );
+    db_query($query, $query_args);
+  }
+}
+
 // ---------------------------------------------------------------------------
 // Entity Metadata callbacks
 
