diff --git a/core/modules/views_ui/src/ViewEditForm.php b/core/modules/views_ui/src/ViewEditForm.php
index 5a4b23c..95cc0b9 100644
--- a/core/modules/views_ui/src/ViewEditForm.php
+++ b/core/modules/views_ui/src/ViewEditForm.php
@@ -15,6 +15,7 @@
 use Drupal\Component\Utility\String;
 use Drupal\Core\Render\Element;
 use Drupal\user\TempStoreFactory;
+use Drupal\views\Plugin\ViewsPluginManager;
 use Drupal\views\Views;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -39,16 +40,26 @@ class ViewEditForm extends ViewFormBase {
   protected $request;
 
   /**
+   * The display plugin manager.
+   *
+   * @var \Drupal\views\Plugin\ViewsPluginManager
+   */
+  protected $displayPluginManager;
+
+  /**
    * Constructs a new ViewEditForm object.
    *
    * @param \Drupal\user\TempStoreFactory $temp_store_factory
    *   The factory for the temp store object.
    * @param \Symfony\Component\HttpFoundation\Request $request
    *   The request object.
+   * @param \Drupal\views\Plugin\ViewsPluginManager $display_plugin_manager
+   *   The views plugin manager.
    */
-  public function __construct(TempStoreFactory $temp_store_factory, Request $request) {
+  public function __construct(TempStoreFactory $temp_store_factory, Request $request, ViewsPluginManager $display_plugin_manager) {
     $this->tempStore = $temp_store_factory->get('views');
     $this->request = $request;
+    $this->displayPluginManager = $display_plugin_manager;
   }
 
   /**
@@ -57,7 +68,8 @@ public function __construct(TempStoreFactory $temp_store_factory, Request $reque
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('user.tempstore'),
-      $container->get('request')
+      $container->get('request'),
+      $container->get('plugin.manager.views.display')
     );
   }
 
@@ -824,6 +836,12 @@ public function submitDisplayAdd($form, &$form_state) {
     // A new display got added so the asterisks symbol should appear on the new
     // display.
     $view->getExecutable()->current_display = $display_id;
+
+    $display_type_definition = $this->displayPluginManager->getDefinition($display_type);
+    if (!empty($display_type_definition['uses_route'])) {
+      $form_state['view']->addFormToStack('display', $display_id, 'menu');
+    }
+
     $view->cacheSet();
 
     // Redirect to the new display's edit page.
