diff --git a/modules/ds_extras/ds_extras.module b/modules/ds_extras/ds_extras.module
index 45a247b..935f83d 100644
--- a/modules/ds_extras/ds_extras.module
+++ b/modules/ds_extras/ds_extras.module
@@ -500,7 +500,7 @@ function theme_ds_field_expert($variables) {
  * if another one is chosen for the full page of the node.
  */
 function ds_extras_get_view_mode() {
-  return drupal_static('ds_extras_view_mode', 'full');
+  return drupal_static('ds_extras_view_mode');
 }
 
 /**
@@ -880,7 +880,10 @@ function ds_extras_entity_view_alter(&$build, $entity_type) {
 
   $bundle = $build['#bundle'];
   $view_mode = $build['#view_mode'];
-  $layout = ds_get_layout($entity_type, $bundle, ds_extras_get_view_mode());
+  if ($overridden_view_mode = ds_extras_get_view_mode()) {
+    $view_mode = $overridden_view_mode;
+  }
+  $layout = ds_get_layout($entity_type, $bundle, $view_mode);
 
   // Page title options.
   if (variable_get('ds_extras_hide_page_title', FALSE)) {
diff --git a/tests/ds.entities.test b/tests/ds.entities.test
index d0bff7f..75d6efc 100644
--- a/tests/ds.entities.test
+++ b/tests/ds.entities.test
@@ -27,7 +27,7 @@ class dsNodeTests extends dsBaseTest {
   function entitiesTestSetup($label = 'above') {
 
     // Create a node.
-    $settings = array('type' => 'article');
+    $settings = array('type' => 'article', 'promote' => 1);
     $node = $this->drupalCreateNode($settings);
 
     // Create field styles.
@@ -195,11 +195,25 @@ class dsNodeTests extends dsBaseTest {
           '. $node->title . '        </h1>');
 
     // Use page title substitutions.
-    $edit = array('additional_settings[ds_page_title_options][page_option_type]' => '2', 'additional_settings[ds_page_title_options][page_option_title]' => '%node:type');
+    $edit = array('additional_settings[ds_page_title_options][page_option_type]' => '2', 'additional_settings[ds_page_title_options][page_option_title]' => 'Change title: %node:type');
     $this->dsConfigureUI($edit, 'admin/structure/types/manage/article/display/teaser');
     $this->drupalGet('node/' . $node->nid);
     $this->assertRaw('<h1 class="title" id="page-title">
-          '. $node->type . '        </h1>');
+          Change title: '. $node->type . '        </h1>');
+    $edit = array('additional_settings[ds_page_title_options][page_option_type]' => '0');
+    $this->dsConfigureUI($edit, 'admin/structure/types/manage/article/display/teaser');
+
+    // Go to home page, page title shouldn't bleed here
+    // see http://drupal.org/node/1446554.
+    $edit = array('ds_switch' => '');
+    $this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save'));
+    $edit = array('additional_settings[ds_page_title_options][page_option_type]' => '2', 'additional_settings[ds_page_title_options][page_option_title]' => 'Bleed title: %node:type');
+    $this->dsConfigureUI($edit, 'admin/structure/types/manage/article/display');
+    $this->drupalGet('node/' . $node->nid);
+    $this->assertRaw('<h1 class="title" id="page-title">
+          Bleed title: '. $node->type . '        </h1>');
+    $this->drupalGet('node');
+    $this->assertNoText('Bleed title');
 
     // Test revisions. Enable the revision view mode
     $edit = array('additional_settings[modes][view_modes_custom][revision]' => '1');
