diff --git a/privatemsg.module b/privatemsg.module
index a09ef17..eadcb76 100644
--- a/privatemsg.module
+++ b/privatemsg.module
@@ -2306,13 +2306,16 @@ function privatemsg_entity_info() {
  *   URI array as defined by hook_entity_info().
  */
 function privatemsg_message_uri_callback($message) {
-  $uri = array(
-    'path' => 'messages/view/' . $message->thread_id,
-    'options' => array(),
-  );
-  // Add message fragment, if necessary.
-  if ($message->mid != $message->thread_id) {
-    $uri['options']['fragment'] = 'privatemsg-mid-' . $message->mid;
+  $uri = array();
+  if (isset($message->mid) && isset($message->thread_id)) {
+    $uri = array(
+      'path' => 'messages/view/' . $message->thread_id,
+      'options' => array(),
+    );
+    // Add message fragment, if necessary.
+    if ($message->mid != $message->thread_id) {
+      $uri['options']['fragment'] = 'privatemsg-mid-' . $message->mid;
+    }
   }
   return $uri;
 }
