Index: privatemsg.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/privatemsg/privatemsg.module,v
retrieving revision 1.70.2.30.2.91.2.112
diff -u -p -r1.70.2.30.2.91.2.112 privatemsg.module
--- privatemsg.module	11 Aug 2010 13:17:00 -0000	1.70.2.30.2.91.2.112
+++ privatemsg.module	29 Aug 2010 20:34:00 -0000
@@ -1940,7 +1940,7 @@ function privatemsg_get_link($recipients
     if (!privatemsg_user_access('read privatemsg', $recipient)) {
       continue;
     }
-    if (count(module_invoke_all('privatemsg_block_message', $account, array($recipient))) > 0) {
+    if (count(module_invoke_all('privatemsg_block_message', $account, array($recipient->uid => $recipient))) > 0) {
       continue;
     }
     $validated[] = $recipient->uid;
Index: pm_block_user/pm_block_user.test
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/privatemsg/pm_block_user/pm_block_user.test,v
retrieving revision 1.1.4.3
diff -u -p -r1.1.4.3 pm_block_user.test
--- pm_block_user/pm_block_user.test	20 Feb 2010 08:51:36 -0000	1.1.4.3
+++ pm_block_user/pm_block_user.test	29 Aug 2010 20:34:01 -0000
@@ -24,9 +24,9 @@ class PrivatemsgBlockUserCase extends Dr
 
   function testBlockAndUnblock() {
     // Create needed users.
-    $user1 = $this->drupalCreateUser(array('write privatemsg', 'read privatemsg'));
-    $user2 = $this->drupalCreateUser(array('write privatemsg', 'read privatemsg'));
-    $user3 = $this->drupalCreateUser(array('write privatemsg', 'read privatemsg'));
+    $user1 = $this->drupalCreateUser(array('write privatemsg', 'read privatemsg', 'access user profiles'));
+    $user2 = $this->drupalCreateUser(array('write privatemsg', 'read privatemsg', 'access user profiles'));
+    $user3 = $this->drupalCreateUser(array('write privatemsg', 'read privatemsg', 'access user profiles'));
 
     // Set up a simple conversation.
     $return = privatemsg_new_thread(array($user2, $user3), $subject = $this->randomName(10), $this->randomString(50), array('author' => $user1));
@@ -52,9 +52,18 @@ class PrivatemsgBlockUserCase extends Dr
 
     $this->assertNoText(t('Block user'), t('No "Block user" links displayed.'));
 
+    // Visit profile page of user 2 and verify that there is a link to write a
+    // message.
+    $this->drupalGet('user/' . $user2->uid);
+    $this->assertText(t('Send this user a message'));
+
     // Log in as user2 and try to send messages to user1.
     $this->drupalLogin($user2);
 
+    // Access profile to see if there is a write message link.
+    $this->drupalGet('user/' . $user1->uid);
+    $this->assertNoText(t('Send this user a message'));
+
     $edit = array(
       'recipient' => $user1->name,
       'subject' => $subject2 = $this->randomName(20),
