Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.986
diff -u -p -r1.986 user.module
--- modules/user/user.module	14 May 2009 08:23:15 -0000	1.986
+++ modules/user/user.module	15 May 2009 09:49:18 -0000
@@ -2868,8 +2868,16 @@ function user_register() {
   $null = NULL;
   $extra = _user_forms($null, NULL, NULL, 'register');
 
+  // Remove the fieldset unless $extra contains one or more non-hidden elements.
+  $remove_fieldset = TRUE;
+  foreach (element_children($extra) as $name) {
+    if ($extra[$name]['#type'] != 'hidden') {
+      $remove_fieldset = FALSE;
+    }
+  }
+
   // Remove form_group around default fields if there are no other groups.
-  if (!$extra) {
+  if ($remove_fieldset) {
     foreach (array('name', 'mail', 'pass', 'status', 'roles', 'notify') as $key) {
       if (isset($form['account'][$key])) {
         $form[$key] = $form['account'][$key];
