diff -r -U 2 wordpress/wp-blog-header.php wordpress-modified/wp-blog-header.php
--- wordpress/wp-blog-header.php	2004-10-08 01:06:20.000000000 -0700
+++ wordpress-modified/wp-blog-header.php	2004-10-13 22:25:33.741466887 -0700
@@ -115,5 +115,9 @@
 } else {
 	// We're showing a feed, so WP is indeed the only thing that last changed
-	$wp_last_modified = mysql2date('D, d M Y H:i:s', get_lastpostmodified('GMT'), 0).' GMT';
+	if ($withcomments) {
+		$wp_last_modified = mysql2date('D, d M Y H:i:s', get_lastcommentmodified('GMT'), 0).' GMT';
+	} else {
+		$wp_last_modified = mysql2date('D, d M Y H:i:s', get_lastpostmodified('GMT'), 0).' GMT';
+	}
 	$wp_etag = '"' . md5($wp_last_modified) . '"';
 	@header('Last-Modified: '.$wp_last_modified);
diff -r -U 2 wordpress/wp-commentsrss2.php wordpress-modified/wp-commentsrss2.php
--- wordpress/wp-commentsrss2.php	2004-10-10 11:41:39.000000000 -0700
+++ wordpress-modified/wp-commentsrss2.php	2004-10-13 22:27:42.585685912 -0700
@@ -1,4 +1,5 @@
 <?php 
 if (! $feed) {
+    $withcomments = 1;
     require('wp-blog-header.php');
 }
diff -r -U 2 wordpress/wp-includes/functions.php wordpress-modified/wp-includes/functions.php
--- wordpress/wp-includes/functions.php	2004-10-11 06:22:33.000000000 -0700
+++ wordpress-modified/wp-includes/functions.php	2004-10-13 22:23:46.548166393 -0700
@@ -142,4 +142,28 @@
 }
 
+function get_lastcommentmodified($timezone = 'server') {
+	global $tablecomments, $cache_lastcommentmodified, $pagenow, $wpdb;
+	$add_seconds_blog = get_settings('gmt_offset') * 3600;
+	$add_seconds_server = date('Z');
+	$now = current_time('mysql', 1);
+	if ( !isset($cache_lastcommentmodified[$timezone]) ) {
+		switch(strtolower($timezone)) {
+			case 'gmt':
+				$lastcommentmodified = $wpdb->get_var("SELECT comment_date_gmt FROM $tablecomments WHERE comment_date_gmt <= '$now' ORDER BY comment_date_gmt DESC LIMIT 1");
+				break;
+			case 'blog':
+				$lastcommentmodified = $wpdb->get_var("SELECT comment_date FROM $tablecomments WHERE comment_date_gmt <= '$now' ORDER BY comment_date_gmt DESC LIMIT 1");
+				break;
+			case 'server':
+				$lastcommentmodified = $wpdb->get_var("SELECT DATE_ADD(comment_date_gmt, INTERVAL '$add_seconds_server' SECOND) FROM $tablecomments WHERE comment_date_gmt <= '$now' ORDER BY comment_date_gmt DESC LIMIT 1");
+				break;
+		}
+		$cache_lastcommentmodified[$timezone] = $lastcommentmodified;
+	} else {
+		$lastcommentmodified = $cache_lastcommentmodified[$timezone];
+	}
+	return $lastcommentmodified;
+}
+
 function user_pass_ok($user_login,$user_pass) {
 	global $cache_userdata;

