Index: privatemsg.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/privatemsg/privatemsg.module,v
retrieving revision 1.101
diff -w -u -p -r1.101 privatemsg.module
--- privatemsg.module	15 Nov 2008 03:46:55 -0000	1.101
+++ privatemsg.module	10 Dec 2008 11:32:50 -0000
@@ -346,13 +350,19 @@ function privatemsg_mark_as_read($pmid, 
  * Return number of unread messages for an account.
  */
 function privatemsg_unread_count($account = NULL) {
+  static $unread;
+
+  if (!is_null($unread)) {
+      return $unread;
+  }
+
   privatemsg_setup_includes();
   if (!$account || $account->uid == 0) {
     global $user;
     $account = $user;
   }
   $query = _privatemsg_assemble_query('privatemsg_unread_count', $account);
-  return db_result(db_query($query['query']));
+  return $unread = db_result(db_query($query['query']));
 }
 
 /**
@@ -754,6 +764,7 @@ function privatemsg_privatemsg_unread_co
 
   $fragments['select'][]      = 'COUNT(DISTINCT thread_id) as unread_count';
   $fragments['where'][]       = 'pmi.new = 1';
+  $fragments['where'][]       = 'pmi.deleted = 0';
   $fragments['where'][]       = 'pmi.uid = %d';
   $fragments['query_args'][]  = $account->uid;
 }
