diff --git a/modules/blog/blog.module b/modules/blog/blog.module
index b3c88e5767d89be312f72e96d1ec69f654bf5b36..cbde74c6da121251c546eeee0e9ad876103d59b9 100644
--- a/modules/blog/blog.module
+++ b/modules/blog/blog.module
@@ -67,7 +67,7 @@ function blog_form($node, $form_state) {
  * Implements hook_view().
  */
 function blog_view($node, $view_mode) {
-  if (node_is_page($node)) {
+  if ($view_mode == 'full' && node_is_page($node)) {
     // Breadcrumb navigation.
     drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Blogs'), 'blog'), l(t("!name's blog", array('!name' => format_username($node))), 'blog/' . $node->uid)));
   }
diff --git a/modules/book/book.module b/modules/book/book.module
index 8ef55f4f122003fdfe60dd2f456b01670026469c..7ce80cd4cc913d39d263cf6d21d2c1ca2c8cf082 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -91,7 +91,7 @@ function book_node_view_link($node, $view_mode) {
   $links = array();
 
   if (isset($node->book['depth'])) {
-    if ($view_mode == 'full') {
+    if ($view_mode == 'full' && node_is_page($node)) {
       $child_type = variable_get('book_child_type', 'book');
       if ((user_access('add content to books') || user_access('administer book outlines')) && node_access('create', $child_type) && $node->status == 1 && $node->book['depth'] < MENU_MAX_DEPTH) {
         $links['book_add_child'] = array(
diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index 36301594dd1dd011995827d820cb3bac57a17074..02c0b9295e70325ed3f580c3ca79563599d90895 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -698,7 +698,7 @@ function comment_node_view($node, $view_mode) {
     // page. We compare $node and $page_node to ensure that comments are not
     // appended to other nodes shown on the page, for example a node_reference
     // displayed in 'full' view mode within another node.
-    if ($node->comment && node_is_page($node) && empty($node->in_preview) && user_access('access comments')) {
+    if ($node->comment && $view_mode == 'full' && node_is_page($node) && empty($node->in_preview) && user_access('access comments')) {
       $node->content['comments'] = comment_node_page_additions($node);
     }
   }
diff --git a/modules/forum/forum.module b/modules/forum/forum.module
index 7d9d3e7514e13179706a59ffd8f01f9d65c59edb..5b92d0d2e8284e96aeac597e4618a9b28ad10927 100644
--- a/modules/forum/forum.module
+++ b/modules/forum/forum.module
@@ -277,7 +277,7 @@ function forum_node_view($node, $view_mode) {
   $vid = variable_get('forum_nav_vocabulary', 0);
   $vocabulary = taxonomy_vocabulary_load($vid);
   if (_forum_node_check_node_type($node)) {
-    if (node_is_page($node)) {
+    if ($view_mode == 'full' && node_is_page($node)) {
       // Breadcrumb navigation
       $breadcrumb[] = l(t('Home'), NULL);
       $breadcrumb[] = l($vocabulary->name, 'forum');
diff --git a/modules/node/node.api.php b/modules/node/node.api.php
index 690fb9e395d54c5a60d6b60853a7c6b89dac4fe4..04a626b9bd9a4a42179eb1828a3bf0a57a459ad9 100644
--- a/modules/node/node.api.php
+++ b/modules/node/node.api.php
@@ -1155,7 +1155,7 @@ function hook_validate($node, &$form) {
  * @ingroup node_api_hooks
  */
 function hook_view($node, $view_mode) {
-  if (node_is_page($node)) {
+  if ($view_mode == 'full' && node_is_page($node)) {
     $breadcrumb = array();
     $breadcrumb[] = l(t('Home'), NULL);
     $breadcrumb[] = l(t('Example'), 'example');
diff --git a/modules/node/node.module b/modules/node/node.module
index f155570285b4c17da12802665ecf7a28caaa8c53..1b646b43e11b8e89cce0fa62d459acbeec3ffb10 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1222,7 +1222,7 @@ function node_view($node, $view_mode = 'full') {
   // displayed on its own page. Modules may alter this behavior (for example,
   // to restrict contextual links to certain view modes) by implementing
   // hook_node_view_alter().
-  if (!empty($node->nid) && !node_is_page($node)) {
+  if (!empty($node->nid) && !($view_mode == 'full' && node_is_page($node))) {
     $build['#contextual_links']['node'] = array('node', array($node->nid));
   }
 
@@ -1355,7 +1355,7 @@ function template_preprocess_node(&$variables) {
   $uri = entity_uri('node', $node);
   $variables['node_url']  = url($uri['path'], $uri['options']);
   $variables['title']     = check_plain($node->title);
-  $variables['page']      = node_is_page($node);
+  $variables['page']      = $variables['view_mode'] == 'full' && node_is_page($node);
 
   if (!empty($node->in_preview)) {
     unset($node->content['links']);
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index 9fbc4c76fced9a0324073e4bde7b538a220549a8..b060a8dcbf5aec189f774acadb9ac01568086cd7 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -637,7 +637,7 @@ function template_preprocess_taxonomy_term(&$variables) {
   $uri = entity_uri('taxonomy_term', $term);
   $variables['term_url']  = url($uri['path'], $uri['options']);
   $variables['term_name'] = check_plain($term->name);
-  $variables['page']      = taxonomy_term_is_page($term);
+  $variables['page']      = $variables['view_mode'] == 'full' && taxonomy_term_is_page($term);
 
   // Flatten the term object's member fields.
   $variables = array_merge((array) $term, $variables);