diff --git modules/forum/forum-submitted.tpl.php modules/forum/forum-submitted.tpl.php
index ae5be3c..1768411 100644
--- modules/forum/forum-submitted.tpl.php
+++ modules/forum/forum-submitted.tpl.php
@@ -8,8 +8,10 @@
  *
  * Available variables:
  *
+ * - $page: Flag for the forum list view.
  * - $author: The author of the post.
  * - $time: How long ago the post was created.
+ * - $title: A truncated post link available only for "Last post".
  * - $topic: An object with the raw data of the post. Unsafe, be sure
  *   to clean this data before printing.
  *
@@ -19,6 +21,10 @@
 ?>
 <?php if ($time): ?>
   <span class="submitted">
+  <?php if (isset($title)): ?>
+    <?php print $title; ?>
+    <br />
+  <?php endif; ?>
   <?php print t('By !author @time ago', array(
     '@time' => $time,
     '!author' => $author,
diff --git modules/forum/forum.module modules/forum/forum.module
index 44790f0..c6ca4fe 100644
--- modules/forum/forum.module
+++ modules/forum/forum.module
@@ -59,7 +59,7 @@ function forum_theme() {
     ),
     'forum_submitted' => array(
       'template' => 'forum-submitted',
-      'arguments' => array('topic' => NULL),
+      'arguments' => array('topic' => NULL, 'page' => NULL),
     ),
   );
 }
@@ -644,7 +644,8 @@ function forum_get_forums($tid = 0) {
     $query->addExpression('IF (ncs.last_comment_uid != 0, u2.name, ncs.last_comment_name)', 'last_comment_name');
 
     $topic = $query
-      ->fields('ncs', array('last_comment_timestamp', 'last_comment_uid'))
+      ->fields('n', array('nid', 'title', 'type'))
+      ->fields('ncs', array('last_comment_timestamp', 'last_comment_uid', 'comment_count'))
       ->condition('n.status', 1)
       ->orderBy('last_comment_timestamp', 'DESC')
       ->range(0, 1)
@@ -654,9 +655,14 @@ function forum_get_forums($tid = 0) {
 
     $last_post = new stdClass();
     if (!empty($topic->last_comment_timestamp)) {
+      $last_post->nid = $topic->nid;
+      $last_post->title = $topic->title;
+      $last_post->type = $topic->type;
       $last_post->timestamp = $topic->last_comment_timestamp;
       $last_post->name = $topic->last_comment_name;
       $last_post->uid = $topic->last_comment_uid;
+      $last_post->num_comments = $topic->comment_count;
+      $last_post->new_replies = comment_num_new($topic->nid, _forum_user_last_visit($topic->nid));
     }
     $forum->last_post = $last_post;
 
@@ -956,8 +962,8 @@ function template_preprocess_forum_topic_list(&$variables) {
         $variables['topics'][$id]->title = l($topic->title, "node/$topic->nid");
         $variables['topics'][$id]->message = '';
       }
-      $variables['topics'][$id]->created = theme('forum_submitted', $topic);
-      $variables['topics'][$id]->last_reply = theme('forum_submitted', isset($topic->last_reply) ? $topic->last_reply : NULL);
+      $variables['topics'][$id]->created = theme('forum_submitted', $topic, TRUE);
+      $variables['topics'][$id]->last_reply = theme('forum_submitted', isset($topic->last_reply) ? $topic->last_reply : NULL, TRUE);
 
       $variables['topics'][$id]->new_text = '';
       $variables['topics'][$id]->new_url = '';
@@ -1066,6 +1072,20 @@ function template_preprocess_forum_topic_navigation(&$variables) {
 function template_preprocess_forum_submitted(&$variables) {
   $variables['author'] = isset($variables['topic']->uid) ? theme('username', $variables['topic']) : '';
   $variables['time'] = isset($variables['topic']->timestamp) ? format_interval(REQUEST_TIME - $variables['topic']->timestamp) : '';
+  if ($variables['page'] === NULL) {
+    // Pass the last post information for forum category listings.
+    $options = array();
+    $nid = isset($variables['topic']->nid) ? $variables['topic']->nid : NULL;
+    $title = isset($variables['topic']->title) ? $variables['topic']->title : NULL;
+    if ($new_replies = (isset($variables['topic']->new_replies) ? $variables['topic']->new_replies : NULL)) {
+      $num_comments = isset($variables['topic']->num_comments) ? $variables['topic']->num_comments : NULL;
+      $options = array(
+        'query' => comment_new_page_count($num_comments, $new_replies, $variables['topic']),
+        'fragment' => 'new'
+      );
+    }
+    $variables['title'] = l(truncate_utf8($title, 35, TRUE, TRUE), 'node/' . $nid, $options);
+  }
 }
 
 function _forum_user_last_visit($nid) {
