diff --git sites/all/modules/flag/flag.install sites/all/modules/flag/flag.install
index dbe9896..ae31e80 100644
--- sites/all/modules/flag/flag.install
+++ sites/all/modules/flag/flag.install
@@ -206,7 +206,7 @@ function flag_schema() {
     ),
     'primary key' => array('fcid'),
     'unique keys' => array(
-      'fid_content_type_content_id_uid' => array('fid', 'content_type', 'content_id', 'uid'),
+      'fid_content_id_uid' => array('fid', 'content_id', 'uid'),
     ),
     'indexes' => array(
       'content_type_content_id' => array('content_type', 'content_id'),
@@ -433,6 +433,18 @@ function flag_update_6003() {
   return $ret;
 }
 
+/**
+ * Refine the indexes
+ */
+function flag_update_6004() {
+  $ret = array();
+
+  db_drop_unique_key($ret, 'flag_content', 'fid_content_type_content_id_uid');
+  db_add_unique_key($ret, 'flag_content', 'fid_content_id_uid', array('fid', 'content_id', 'uid'));
+
+  return $ret;
+}
+
 // This is a replacement for update_sql(). The latter doesn't support placeholders.
 function _flag_update_sql($sql) {
   $args = func_get_args();
