diff --git a/modules/node/node.module b/modules/node/node.module
index 51ec8c3..7162f1b 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1399,6 +1399,7 @@ function node_build_content($node, $view_mode = 'full', $langcode = NULL) {
  *   A $page element suitable for use by drupal_page_render().
  */
 function node_show($node, $message = FALSE) {
+  global $user;
   if ($message) {
     drupal_set_title(t('Revision of %title from %date', array('%title' => $node->title, '%date' => format_date($node->revision_timestamp))), PASS_THROUGH);
   }
@@ -1407,7 +1408,16 @@ function node_show($node, $message = FALSE) {
   $nodes = node_view_multiple(array($node->nid => $node), 'full');
 
   // Update the history table, stating that this user viewed this node.
-  node_tag_new($node);
+  // Backport from D7: http://drupal.org/node/667152
+  if ($user->uid) {
+     $last_viewed = node_last_viewed($node->nid);
+     if (!$last_viewed
+        || ($last_viewed <= $node->changed || $last_viewed <= $node->last_comment_timestamp)
+        || $last_viewed <= REQUEST_TIME - variable_get('node_last_viewed_threshold', 1800)) {
+      node_tag_new($node->nid);
+     }
+  }
+
 
   return $nodes;
 }
