Index: modules/profile/profile.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/profile/profile.admin.inc,v
retrieving revision 1.1
diff -u -r1.1 profile.admin.inc
--- modules/profile/profile.admin.inc	13 Nov 2007 12:28:36 -0000	1.1
+++ modules/profile/profile.admin.inc	24 Nov 2007 23:35:21 -0000
@@ -177,7 +177,7 @@
   if (!$form_state['values']['category']) {
     form_set_error('category', t('You must enter a category.'));
   }
-  if ($form_state['values']['category'] == 'account') {
+  if (strtolower($form_state['values']['category']) == 'account') {
     form_set_error('category', t('The specified category name is reserved for use by Drupal.'));
   }
   $args1 = array($form_state['values']['title'], $form_state['values']['category']);
Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.191
diff -u -r1.191 system.install
--- modules/system/system.install	22 Nov 2007 21:02:15 -0000	1.191
+++ modules/system/system.install	24 Nov 2007 23:34:04 -0000
@@ -2703,6 +2703,20 @@
 }
 
 /**
+ * Ensure that "Account" is not used as a Profile category.
+ */
+function system_update_6038() {
+  $ret = array();
+  if (db_table_exists('profile_fields')) {
+    $ret[] = update_sql('UPDATE {profile_fields} SET category = "Account settings" WHERE LOWER(category) = "account"');
+    if ($affectedrows = db_affected_rows()) {
+      drupal_set_message(t('There were @affectedrows profile fields that used a reserved category name. They have been assigned to the category "Account settings".', array('@affectedrows' => $affectedrows)));
+    }
+  }
+  return $ret;
+}
+
+/**
  * @} End of "defgroup updates-5.x-to-6.x"
  * The next series of updates should start at 7000.
  */
