=== modified file 'modules/comment/comment.module'
--- modules/comment/comment.module	2006-11-12 00:11:15 +0000
+++ modules/comment/comment.module	2006-11-18 19:55:11 +0000
@@ -179,7 +179,15 @@ function comment_block($op = 'list', $de
 }

 function theme_comment_block() {
-  $result = db_query_range(db_rewrite_sql('SELECT c.nid, c.subject, c.cid, c.timestamp FROM {comments} c INNER JOIN {node} n ON n.nid = c.nid WHERE n.status = 1 AND c.status = %d ORDER BY c.timestamp DESC', 'c'), COMMENT_PUBLISHED, 0, 10);
+  $result = db_query_range(db_rewrite_sql("SELECT n.nid from {node_comment_statistics} n WHERE n.comment_count > 0 ORDER BY n.last_comment_timestamp DESC"), 0, 10);
+
+  $recent_nids = array();
+
+  while ($cnode = db_fetch_object($result)) {
+    $recent_nids[] = $cnode->nid;
+  }
+
+  $result = db_query_range('SELECT c.nid, c.subject, c.cid, c.timestamp FROM {comments} c INNER JOIN {node} n ON n.nid = c.nid WHERE c.nid IN ('. implode(',', $recent_nids) .') AND n.status = 1 AND c.status = %d ORDER BY c.timestamp DESC', COMMENT_PUBLISHED, 0, 10);
   $items = array();
   while ($comment = db_fetch_object($result)) {
     $items[] = l($comment->subject, 'node/'. $comment->nid, NULL, NULL, 'comment-'. $comment->cid) .'<br />'. t('@time ago', array('@time' => format_interval(time() - $comment->timestamp)));

