Index: privatemsg.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/privatemsg/privatemsg.module,v
retrieving revision 1.152
diff -u -p -r1.152 privatemsg.module
--- privatemsg.module	10 Nov 2010 15:46:44 -0000	1.152
+++ privatemsg.module	14 Nov 2010 20:07:45 -0000
@@ -1258,7 +1258,7 @@ function privatemsg_user($op, &$edit, &$
           $form['privatemsg']['pm_enable'] = array(
             '#type' => 'checkbox',
             '#title' => t('Enable private messages'),
-            '#default_value' => !privatemsg_is_disabled($form['#user']),
+            '#default_value' => !privatemsg_is_disabled($account),
             '#description' => t('Disabling private messages prevents you from sending or receiving messages from other users.'),
             '#weight' => -10,
           );
Index: privatemsg.test
===================================================================
RCS file: /cvs/drupal/contributions/modules/privatemsg/privatemsg.test,v
retrieving revision 1.26
diff -u -p -r1.26 privatemsg.test
--- privatemsg.test	27 Oct 2010 14:41:00 -0000	1.26
+++ privatemsg.test	14 Nov 2010 20:07:46 -0000
@@ -381,8 +381,16 @@ class PrivatemsgTestCase extends DrupalW
     $this->drupalLogin($disableduser);
     // Now disable $disabledUser.
     $this->drupalGet('user/'. $disableduser->uid .'/edit');
-    $edit['pm_enable'] = FALSE;
-    $this->drupalPost('user/'. $disableduser->uid .'/edit', $edit, t('Save'));
+    // Make sure that the checkbox is enabled by default.
+    $this->assertFieldChecked('edit-pm-enable');
+
+    $edit = array(
+      'pm_enable' => FALSE,
+    );
+    $this->drupalPost(NULL, $edit, t('Save'));
+
+    $elements = $this->xpath('//input[@id="edit-pm-enable"]');
+    return $this->assertTrue(isset($elements[0]) && empty($elements[0]['checked']), t('Checkbox is disabled.'));
 
     // Verify that disableduser can list messages.
     $this->drupalGet('messages');
