diff --git modules/blog/blog.module modules/blog/blog.module
index 53fa309..588db6c 100644
--- modules/blog/blog.module
+++ modules/blog/blog.module
@@ -67,7 +67,7 @@ function blog_form($node, $form_state) {
  * Implements hook_view().
  */
 function blog_view($node, $build_mode) {
-  if ((bool)menu_get_object()) {
+  if (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 modules/comment/comment.module modules/comment/comment.module
index 143cc0d..324658d 100644
--- modules/comment/comment.module
+++ modules/comment/comment.module
@@ -577,8 +577,7 @@ function comment_node_view($node, $build_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' build mode within another node.
-    $page_node = menu_get_object();
-    if ($node->comment && isset($page_node->nid) && $page_node->nid == $node->nid && empty($node->in_preview) && user_access('access comments')) {
+    if ($node->comment && node_is_page($node) && empty($node->in_preview) && user_access('access comments')) {
       $node->content['comments'] = comment_node_page_additions($node);
     }
   }
diff --git modules/forum/forum.module modules/forum/forum.module
index 01643c2..0d09442 100644
--- modules/forum/forum.module
+++ modules/forum/forum.module
@@ -239,7 +239,7 @@ function forum_node_view($node, $build_mode) {
   $vid = variable_get('forum_nav_vocabulary', 0);
   $vocabulary = taxonomy_vocabulary_load($vid);
   if (_forum_node_check_node_type($node)) {
-    if ((bool)menu_get_object()) {
+    if (node_is_page($node)) {
       // Breadcrumb navigation
       $breadcrumb[] = l(t('Home'), NULL);
       $breadcrumb[] = l($vocabulary->name, 'forum');
diff --git modules/node/node.api.php modules/node/node.api.php
index 045234f..cdc6363 100644
--- modules/node/node.api.php
+++ modules/node/node.api.php
@@ -999,7 +999,7 @@ function hook_validate($node, &$form) {
  * For a detailed usage example, see node_example.module.
  */
 function hook_view($node, $build_mode = 'full') {
-  if ((bool)menu_get_object()) {
+  if (node_is_page($node)) {
     $breadcrumb = array();
     $breadcrumb[] = array('path' => 'example', 'title' => t('example'));
     $breadcrumb[] = array('path' => 'example/' . $node->field1,
diff --git modules/node/node.module modules/node/node.module
index 0aca48b..3d5fe70 100644
--- modules/node/node.module
+++ modules/node/node.module
@@ -1323,6 +1323,19 @@ function node_show($node, $message = FALSE) {
 }
 
 /**
+ * Checks whether a certain node is shown on the current page.
+ *
+ * @param $node
+ *   A node object.
+ * @return
+ *   Is the node shown on the current page.
+ */
+function node_is_page($node) {
+  $page_node = menu_get_object();
+  return (isset($page_node->nid)) ? $page_node->nid == $node->nid : FALSE;
+}
+
+/**
  * Process variables for node.tpl.php
  *
  * Most themes utilize their own copy of node.tpl.php. The default is located
@@ -1347,7 +1360,7 @@ function template_preprocess_node(&$variables) {
   $variables['name']      = theme('username', array('account' => $node));
   $variables['node_url']  = url('node/' . $node->nid);
   $variables['node_title'] = check_plain($node->title[LANGUAGE_NONE][0]['value']);
-  $variables['page']      = (bool)menu_get_object();
+  $variables['page']      = node_is_page($node);
 
   if (!empty($node->in_preview)) {
     unset($node->content['links']);
