Index: modules/profile/profile.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/profile/profile.module,v
retrieving revision 1.189.2.8
diff -u -p -r1.189.2.8 profile.module
--- modules/profile/profile.module	26 Jul 2007 19:16:48 -0000	1.189.2.8
+++ modules/profile/profile.module	13 Jan 2008 11:20:12 -0000
@@ -336,6 +336,14 @@ function profile_field_form_validate($fo
   if (db_result(db_query("SELECT fid FROM {profile_fields} WHERE name = '%s'". $query_suffix, $args2))) {
     form_set_error('name', t('The specified name is already in use.'));
   }
+  if ($form_values['visibility'] == PROFILE_HIDDEN) {
+    if ($form_values['required']) {
+      form_set_error('required', t('A hidden field cannot be required.'));
+    }
+    if ($form_values['register']) {
+      form_set_error('register', t('A hidden field cannot be set to visible on the user registration form.'));
+    }
+  }
 }
 
 /**
