diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayPath.php b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayPath.php
index 3664f28..af60577 100644
--- a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayPath.php
+++ b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayPath.php
@@ -35,11 +35,13 @@ public function testPathUI() {
     // Add a new page display and check the appearing text.
     $this->drupalPost(NULL, array(), 'Add Page');
     $this->assertText(t('No path is set'), 'The right text appears if no path was set.');
+    $this->assertNoLink(t('view @display', array('@display' => 'page')), 'No view page link found on the page.');
 
     // Save a path and make sure the summary appears as expected.
     $random_path = $this->randomName();
     $this->drupalPost("admin/structure/views/nojs/display/test_view/page_1/path", array('path' => $random_path), t('Apply'));
     $this->assertText('/' . $random_path, 'The custom path appears in the summary.');
+    $this->assertLink(t('view @display', array('@display' => 'Page')), 0, 'view page link found on the page.');
   }
 
 }
diff --git a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php
index c46de11..28296a5 100644
--- a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php
+++ b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php
@@ -383,10 +383,11 @@ public function getDisplayDetails($view, $display) {
             "#suffix" => '</li>',
           );
         }
-        // Add a link to view the page.
-        elseif ($view->get('executable')->displayHandlers->get($display['id'])->hasPath()) {
+        // Add a link to view the page unless the view is disabled or has no
+        // path.
+        elseif ($view->status() && $view->get('executable')->displayHandlers->get($display['id'])->hasPath()) {
           $path = $view->get('executable')->displayHandlers->get($display['id'])->getPath();
-          if (strpos($path, '%') === FALSE) {
+          if ($path && (strpos($path, '%') === FALSE)) {
             $build['top']['actions']['path'] = array(
               '#type' => 'link',
               '#title' => t('view @display', array('@display' => $display['display_title'])),
@@ -416,16 +417,6 @@ public function getDisplayDetails($view, $display) {
           '#prefix' => '<li class="delete">',
           "#suffix" => '</li>',
         );
-        if ($is_enabled) {
-          $build['top']['actions']['disable'] = array(
-            '#type' => 'submit',
-            '#value' => t('disable @display_title', array('@display_title' => $display_title)),
-            '#limit_validation_errors' => array(),
-            '#submit' => array(array($this, 'submitDisplayDisable'), array($this, 'submitDelayDestination')),
-            '#prefix' => '<li class="disable">',
-            "#suffix" => '</li>',
-          );
-        }
 
         foreach (views_fetch_plugin_names('display', NULL, array($view->get('storage')->get('base_table'))) as $type => $label) {
           if ($type == $display['display_plugin']) {
@@ -452,6 +443,16 @@ public function getDisplayDetails($view, $display) {
           "#suffix" => '</li>',
         );
       }
+      if ($is_enabled) {
+        $build['top']['actions']['disable'] = array(
+          '#type' => 'submit',
+          '#value' => t('disable @display_title', array('@display_title' => $display_title)),
+          '#limit_validation_errors' => array(),
+          '#submit' => array(array($this, 'submitDisplayDisable'), array($this, 'submitDelayDestination')),
+          '#prefix' => '<li class="disable">',
+          "#suffix" => '</li>',
+        );
+      }
       $build['top']['actions']['suffix']['#markup'] = '</ul>';
 
       // The area above the three columns.
