--- privatemsg.module	2008-03-19 20:37:34.000000000 +0800
+++ privatemsg.module	2008-03-19 20:52:35.000000000 +0800
@@ -2097,7 +2097,7 @@ function _privatemsg_get_new_messages($u
     $uid = $user->uid;
   }
   if (!isset($cache[$uid])) {
-    $cache[$uid] = (int)db_result(db_query('SELECT COUNT(*) FROM {privatemsg} WHERE recipient = %d AND newmsg = 1 AND recipient_del = 0', $uid));
+    $cache[$uid] = (int)db_result(db_query('SELECT COUNT(*) FROM {privatemsg} p INNER JOIN {users} u ON p.author = u.uid WHERE p.recipient = %d AND p.newmsg = 1 AND p.recipient_del = 0', $uid));
   }
   return $cache[$uid];
 }
