--- flag.module.old	2009-06-18 18:47:01.000000000 +0200
+++ flag.module	2009-06-18 19:11:21.000000000 +0200
@@ -347,6 +347,18 @@ function flag_user($op, &$edit, &$accoun
   switch ($op) {
     case 'delete':
       // Remove flags by this user.
+      $res = db_query("
+        SELECT
+          fcon.fid, fcon.content_id, fcou.count
+        FROM {flag_content} fcon
+        LEFT JOIN {flag_counts} fcou ON fcou.content_id = fcon.content_id
+        WHERE fcon.uid = %d",
+        $account->uid
+      );
+      while ($flag_data = db_fetch_object($res)) {
+        $flag_data->counter--;
+        db_query("UPDATE {flag_counts} SET count = %d WHERE fid = %d AND content_id = %d", $flag_data->count, $flag_data->fid, $flag_data->content_id);
+      }
       db_query("DELETE FROM {flag_content} WHERE uid = %d", $account->uid);
       break;
     case 'view';
@@ -473,7 +485,7 @@ function theme_flag_admin_page($flags, $
   else {
     $output .= '<p>' . t('Flagging an item may trigger <a href="@actions-url">actions</a>.', array('@actions-url' => url('admin/build/flags/actions'))) . '</p>';
   }
-  
+
   if (!module_exists('rules')) {
     $output .= '<p>' . t('Flagging an item may trigger <em>rules</em>. However, you don\'t have the <a href="@rule-url">Rules</a> module enabled, so you won\'t be able to enjoy this feature. The Rules module provides more flexibilty and more options than the flag actions do.', array('@rules-url' => url('http://drupal.org/project/rules'))) . '</p>';
   }
