=== modified file 'modules/profile/profile.module'
--- modules/profile/profile.module	2007-09-05 18:11:27 +0000
+++ modules/profile/profile.module	2007-09-30 18:20:30 +0000
@@ -369,6 +369,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_state['values']['visibility'] == PROFILE_HIDDEN) {
+    if ($form_state['values']['required']) {
+      form_set_error('required', t('A hidden field can not be required'));
+    }
+    if ($form_state['values']['register']) {
+      form_set_error('register', t('A hidden field can not be set to be visible on the registration form.'));
+    }
+  }
 }
 
 /**

