diff --git a/modules/comment/comment.install b/modules/comment/comment.install
index f8fe9692dc501ffd7f1e6adc2f9dc15e7825b168..819b4654786ff4aa5906db3a127d4393c3be0fd2 100644
--- a/modules/comment/comment.install
+++ b/modules/comment/comment.install
@@ -6,6 +6,21 @@
  */
 function comment_enable() {
   // Insert records into the node_comment_statistics for nodes that are missing.
-  db_query_temporary("SELECT n.nid, n.created, n.uid FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE c.comment_count IS NULL", 'missing_nids');
-  db_query("INSERT INTO {node_comment_statistics} (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) SELECT n.nid, n.created, NULL, n.uid, 0 FROM missing_nids n");
+  db_query_temporary("SELECT n.nid, n.changed, n.uid FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE c.comment_count IS NULL", 'missing_nids');
+  db_query("INSERT INTO {node_comment_statistics} (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) SELECT n.nid, n.changed, NULL, n.uid, 0 FROM missing_nids n");
+}
+
+/**
+ * Changed node_comment_statistics to use node->changed to avoid future
+ * timestamps.
+ */
+function comment_update_1() {
+  // Change any future last comment timestamps to now.
+  db_query('UPDATE {node_comment_statistics} SET last_comment_timestamp = %d WHERE last_comment_timestamp > %d', time(), time());
+
+  // Unstuck node indexing timestamp if needed.
+  if (($last = variable_get('node_cron_last', FALSE)) !== FALSE) {
+    variable_set('node_cron_last', min(time(), $last));
+  }
+  return array();
 }
diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index 791372ae328c53e5ccc41900cf932f223152c760..5e1e3e4b46a5da1f8471b2b299fdbe753a2ecfc1 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -460,7 +460,7 @@ function comment_nodeapi(&$node, $op, $arg = 0) {
       break;
 
     case 'insert':
-      db_query('INSERT INTO {node_comment_statistics} (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) VALUES (%d, %d, NULL, %d, 0)', $node->nid, $node->created, $node->uid);
+      db_query('INSERT INTO {node_comment_statistics} (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) VALUES (%d, %d, NULL, %d, 0)', $node->nid, $node->changed, $node->uid);
       break;
 
     case 'delete':