diff --git core/modules/contact/contact.pages.inc core/modules/contact/contact.pages.inc
index bf096a7..cacbec8 100644
--- core/modules/contact/contact.pages.inc
+++ core/modules/contact/contact.pages.inc
@@ -76,6 +76,14 @@ function contact_site_form($form, &$form_state) {
     '#default_value' => $user->uid ? $user->mail : '',
     '#required' => TRUE,
   );
+  //We do not allow logged in users to change their name or email address
+  if ($user->uid){
+    $form['name']['#type'] = $form['mail']['#type'] = 'item';
+    $form['name']['#required'] = $form['mail']['#required'] = FALSE;
+    $form['name']['#markup'] = $form['name']['#default_value'];
+    $form['mail']['#markup'] = $form['mail']['#default_value'];
+  }
+  
   $form['subject'] = array(
     '#type' => 'textfield',
     '#title' => t('Subject'),
diff --git core/modules/contact/contact.test core/modules/contact/contact.test
index d7f26ac..4ff17fc 100644
--- core/modules/contact/contact.test
+++ core/modules/contact/contact.test
@@ -432,3 +432,36 @@ class ContactPersonalTestCase extends DrupalWebTestCase {
     $this->drupalPost('user/' . $account->uid . '/contact', $message, t('Send message'));
   }
 }
+
+/**
+ * Checks that textfields for email address and name only appear for anonymous users.
+ */
+class ContactTextfieldTestCase extends DrupalWebTestCase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Contact form textfields.',
+      'description' => 'Tests contact form textfields are present only if anonymous.',
+      'group' => 'Contact',
+    );
+  }
+
+  function setUp() {
+    parent::setUp('contact');
+  }
+  
+  /**
+   * Checks that for a logged in user, textfields do not appear on /contacts
+   */
+  function testContactSiteWideTextfieldsLoggedInTestCase() {
+    $user = $this->drupalCreateUser(array('access site-wide contact form'));
+    $this->drupalLogin($user);
+    $this->drupalGet('contact');
+    
+    //Ensure there is no textfield for name
+    $this->assertFalse($this->xpath('//input[@name=:name]', array(':name' => 'name')), t('"Name" textfield exists for logged in user.'));
+    
+    //Ensure there is no textfield for email
+    $this->assertFalse($this->xpath('//input[@name=:name]', array(':name' => 'mail')), t('"Email" textfield exists for logged in user.'));
+  }
+}
\ No newline at end of file
