Index: privatemsg.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/privatemsg/privatemsg.module,v
retrieving revision 1.70.2.30.2.91.2.76
diff -u -p -r1.70.2.30.2.91.2.76 privatemsg.module
--- privatemsg.module	14 Oct 2009 15:24:44 -0000	1.70.2.30.2.91.2.76
+++ privatemsg.module	15 Oct 2009 17:58:19 -0000
@@ -507,7 +507,12 @@ function privatemsg_preprocess_privatems
   $vars['message_timestamp'] = format_date($message['timestamp'], 'small');
   $vars['message_body'] = check_markup($message['body'], $message['format']);
   if (isset($vars['mid']) && privatemsg_user_access('delete privatemsg')) {
-    $vars['message_actions'][] = array('title' => t('Delete message'), 'href' => 'messages/delete/' . $vars['mid']);
+    $thread = privatemsg_thread_load($message['thread_id']);
+    $destination = 'messages/view/' . $message['thread_id'];
+    if (count($thread['messages']) <= 1) {
+      $destination = 'messages';
+    }
+    $vars['message_actions'][] = array('title' => t('Delete message'), 'href' => 'messages/delete/' . $vars['mid'], 'query' => array('destination' => $destination));
   }
   $vars['message_anchors'][] = 'privatemsg-mid-' . $vars['mid'];
   if (!empty($message['is_new'])) {
