Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.374
diff -p -u -r1.374 system.install
--- modules/system/system.install	21 Aug 2009 17:28:27 -0000	1.374
+++ modules/system/system.install	21 Aug 2009 23:22:39 -0000
@@ -44,7 +44,7 @@ function system_requirements($phase) {
         'severity' => REQUIREMENT_INFO,
         'weight' => -9
       );
-    } 
+    }
   }
 
   // Web server information.
@@ -2427,6 +2427,32 @@ function system_update_7035() {
   return $ret;
 }
 
+
+/**
+ * Enable / disable personal contact form should be enabled for all users
+ * so configuration options just don't disappear when upgrading from 6.x.
+ */
+function system_update_7036() {
+  $ret = array();
+
+  if (module_exists('contact')) {
+    // Get all roles except for anonymous.
+    $result = db_query("SELECT rid FROM {role} WHERE rid != 1 ORDER BY rid ASC");
+
+    $query = db_insert('role_permission')->fields(array('rid', 'permission'));
+    foreach ($result as $role) {
+      $query->values(array(
+        'rid' => $role->rid,
+        'permission' => 'configure personal contact form',
+      ));
+      $ret[] = array('success' => TRUE, 'query' => "Added permission 'configure personal contact form' for role ID " . $role->rid);
+    }
+    $query->execute();
+  }
+
+  return $ret;
+}
+
 /**
  * @} End of "defgroup updates-6.x-to-7.x"
  * The next series of updates should start at 8000.
Index: modules/contact/contact.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/contact/contact.module,v
retrieving revision 1.120
diff -p -u -r1.120 contact.module
--- modules/contact/contact.module	12 Aug 2009 12:36:04 -0000	1.120
+++ modules/contact/contact.module	21 Aug 2009 23:22:39 -0000
@@ -45,6 +45,10 @@ function contact_permission() {
       'title' => t('Access site-wide contact form'),
       'description' => t('Send feedback to administrators via e-mail using the site-wide contact form.'),
     ),
+    'configure personal contact form' => array(
+      'title' => t('Configure personal contact form'),
+      'description' => t('Enable or disable personal contact form.'),
+    ),
   );
 }
 
@@ -144,6 +148,7 @@ function contact_user_form(&$edit, $acco
       '#title' => t('Contact settings'),
       '#weight' => 5,
       '#collapsible' => TRUE,
+      '#access' => user_access('configure personal contact form'),
     );
     $form['contact']['contact'] = array('#type' => 'checkbox',
       '#title' => t('Personal contact form'),
