Index: mail_edit.module
===================================================================
--- mail_edit.module	(revision 15)
+++ mail_edit.module	(working copy)
@@ -212,15 +212,24 @@
       $mailkeys[$module] = $result;
     }
   }
+
   //find out if we already have record of the exposed keys
   $query = "SELECT * FROM {mail_edit_registry}";
   $result = db_query($query);
   while ($row = db_fetch_object($result)) {
     if (isset($mailkeys[$row->module][$row->mailkey])) {
+      $old_description = $row->description;
+      $new_description = $mailkeys[$row->module][$row->mailkey];
+      if ($old_description != $new_description) {
+        db_query("UPDATE {mail_edit_registry} SET description = '%s' WHERE id = '%s'", $new_description, $row->id);
+      }
       unset($mailkeys[$row->module][$row->mailkey]);
     }
+    else {
+      db_query("DELETE mer, me FROM {mail_edit_registry} mer LEFT JOIN {mail_edit} me ON mer.id = me.id WHERE mer.id = '%s'", $row->id);
+    }
   }
-//    drupal_set_message('<pre>'. print_r($mailkeys, 1) .'</pre>');
+
   //insert any new mailkeys into our registry table
   foreach ($mailkeys as $module => $keys) {
     foreach ($keys as $key => $description) {
