diff --git pm_email_notify/pm_email_notify.module pm_email_notify/pm_email_notify.module
index fa2e5f1..79f6aa3 100644
--- pm_email_notify/pm_email_notify.module
+++ pm_email_notify/pm_email_notify.module
@@ -51,39 +51,17 @@ function _pm_email_notify_is_enabled($uid) {
  */
 function pm_email_notify_privatemsg_message_insert($message) {
   foreach ($message['recipients'] as $recipient) {
-    pm_email_notify_send_mail($recipient, $message);
-  }
-}
-
-/**
- * Implements hook_privatemsg_message_recipient_changed().
- *
- * Notifies users who were added to a message about new Private Messages
- * via Email.
- */
-function pm_email_notify_privatemsg_message_recipient_changed($mid, $thread_id, $recipient_id, $type, $added) {
-  // Only send mail if the recipient was added and is a user.
-  if ($added && ($type == 'user' || $type == 'hidden')) {
-    if (($message = privatemsg_message_load($mid)) && ($recipient = privatemsg_user_load($recipient_id))) {
-      pm_email_notify_send_mail($recipient, $message);
+    // check if recipient enabled email notifications
+    if (isset($recipient->uid) && _pm_email_notify_is_enabled($recipient->uid)) {
+      // send them a new pm notification email if they did
+      $params['recipient'] = $recipient;
+      $params['message'] = $message;
+      drupal_mail('pm_email_notify', 'notice', $recipient->mail, user_preferred_language($recipient), $params, variable_get('pm_email_notify_from',''));
     }
   }
 }
 
 /**
- * Send a pm notification email to a recipient.
- */
-function pm_email_notify_send_mail($recipient, $message) {
-  // check if recipient enabled email notifications
-  if (isset($recipient->uid) && _pm_email_notify_is_enabled($recipient->uid) && !empty($recipient->mail)) {
-    // send them a new pm notification email if they did
-    $params['recipient'] = $recipient;
-    $params['message'] = $message;
-    drupal_mail('pm_email_notify', 'notice', $recipient->mail, user_preferred_language($recipient), $params, variable_get('pm_email_notify_from',''));
-  }
-}
-
-/**
  * Implements hook_mail().
  */
 function pm_email_notify_mail($key, &$message, $params) {
diff --git privatemsg.api.php privatemsg.api.php
index f96a105..26dfc26 100644
--- privatemsg.api.php
+++ privatemsg.api.php
@@ -371,14 +371,14 @@ function hook_privatemsg_message_insert($message) {
  *   Id of the message.
  * @param $thread_id
  *   Id of the thread the message belongs to.
- * @param $recipient_id
+ * @param $recipient
  *   Recipient id, a user id if type is user or hidden.
  * @param $type
  *   Type of the recipient.
  * @param $added
  *   TRUE if the recipient is added, FALSE if he is removed.
  */
-function hook_privatemsg_message_recipient_changed($mid, $thread_id, $recipient_id, $type, $added) {
+function hook_privatemsg_message_recipient_changed($mid, $thread_id, $recipient, $type, $added) {
   if ($added && ($type == 'user' || $type == 'hidden')) {
     privatemsg_filter_add_tags(array($thread_id), variable_get('privatemsg_filter_inbox_tag', ''), (object)array('uid' => $recipient));
   }
diff --git privatemsg.module privatemsg.module
index d513cf7..c5d19d5 100644
--- privatemsg.module
+++ privatemsg.module
@@ -1851,13 +1851,11 @@ function privatemsg_get_link($recipients, $account = array(), $subject = NULL) {
  * @param $account
  *   For which account the message should be loaded.
  *   Defaults to the current user.
- * @param $reset
- *   Reset the static cache.
  *
  * @ingroup api
  */
-function privatemsg_message_load($pmid, $account = NULL, $reset = FALSE) {
-  $messages = privatemsg_message_load_multiple(array($pmid), $account, $reset);
+function privatemsg_message_load($pmid, $account = NULL) {
+  $messages = privatemsg_message_load_multiple(array($pmid), $account);
   return current($messages);
 }
 
@@ -1869,60 +1867,30 @@ function privatemsg_message_load($pmid, $account = NULL, $reset = FALSE) {
  * @param $account
  *   For which account the message should be loaded.
  *   Defaults to the current user.
- * @param $reset
- *   Reset the static cache.
  *
  * @ingroup api
  */
-function privatemsg_message_load_multiple($pmids, $account = NULL, $reset = FALSE) {
-  static $cache = array();
-  if ($reset) {
-    $cache = array();
-  }
-
+function privatemsg_message_load_multiple($pmids, $account = NULL) {
   // Avoid SQL error that would happen with an empty pm.mid IN () clause.
   if (empty($pmids)) {
     return array();
   }
 
-  // If account is null, we need the current user's uid for caching.
-  if (isset($account->uid)) {
-    $uid = $account->uid;
-  }
-  else {
-    $uid = $GLOBALS['user']->uid;
-  }
-
-  // Collect cached messages and remove any pmids that were found.
+  $query = _privatemsg_assemble_query('load', $pmids, $account);
+  $result = db_query($query['query']);
   $messages = array();
-  foreach ($pmids as $key => $pmid) {
-    if (isset($cache[$uid][$pmid])) {
-      $messages[] = $cache[$uid][$pmid];
-      unset($pmids[$key]);
+  while ($message = db_fetch_array($result)) {
+    // Load author of message.
+    if (!($message['author'] = privatemsg_user_load($message['author']))) {
+      // If user does not exist, load anonymous user.
+      $message['author'] = privatemsg_user_load(0);
     }
-  }
-
-  // Load any remaining uncached messages.
-  if (!empty($pmids)) {
-    $query = _privatemsg_assemble_query('load', $pmids, $account);
-    $result = db_query($query['query']);
-    while ($message = db_fetch_array($result)) {
-      // Load author of message.
-      if (!($message['author'] = privatemsg_user_load($message['author']))) {
-        // If user does not exist, load anonymous user.
-        $message['author'] = privatemsg_user_load(0);
-      }
-      $returned = module_invoke_all('privatemsg_message_load', $message);
-      if (!empty($returned)) {
-        $message = array_merge_recursive($returned, $message);
-      }
-
-      // Add to cache and to current result set.
-      $cache[$uid][$message['mid']] = $message;
-      $messages[] = $message;
+    $returned = module_invoke_all('privatemsg_message_load', $message);
+    if (!empty($returned)) {
+      $message = array_merge_recursive($returned, $message);
     }
+    $messages[$message['mid']] = $message;
   }
-
   return $messages;
 }
 
