diff --git a/core/modules/content_translation/lib/Drupal/content_translation/Controller/ContentTranslationController.php b/core/modules/content_translation/lib/Drupal/content_translation/Controller/ContentTranslationController.php
index 31a33d2..591f420 100644
--- a/core/modules/content_translation/lib/Drupal/content_translation/Controller/ContentTranslationController.php
+++ b/core/modules/content_translation/lib/Drupal/content_translation/Controller/ContentTranslationController.php
@@ -17,8 +17,8 @@ class ContentTranslationController {
   /**
    * @todo Remove content_translation_overview().
    */
-  public function overview(Request $request) {
-    $entity = $request->attributes->get($request->attributes->get('_entity_type_id'));
+  public function overview(Request $request, $_entity_type_id) {
+    $entity = $request->attributes->get($_entity_type_id);
     module_load_include('pages.inc', 'content_translation');
     return content_translation_overview($entity);
   }
@@ -26,8 +26,8 @@ public function overview(Request $request) {
   /**
    * @todo Remove content_translation_add_page().
    */
-  public function add(Request $request, $source, $target) {
-    $entity = $request->attributes->get($request->attributes->get('_entity_type_id'));
+  public function add(Request $request, $source, $target, $_entity_type_id) {
+    $entity = $request->attributes->get($_entity_type_id);
     module_load_include('pages.inc', 'content_translation');
     $source = language_load($source);
     $target = language_load($target);
@@ -37,8 +37,8 @@ public function add(Request $request, $source, $target) {
   /**
    * @todo Remove content_translation_edit_page().
    */
-  public function edit(Request $request, $language) {
-    $entity = $request->attributes->get($request->attributes->get('_entity_type_id'));
+  public function edit(Request $request, $language, $_entity_type_id) {
+    $entity = $request->attributes->get($_entity_type_id);
     module_load_include('pages.inc', 'content_translation');
     $language = language_load($language);
     return content_translation_edit_page($entity, $language);
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
index 592f0a5..4258c0d 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
@@ -75,11 +75,8 @@ public function getFormId() {
   /**
    * {@inheritdoc}
    */
-  public function buildForm(array $form, array &$form_state, $entity_type_id = NULL, $bundle = NULL) {
-    if ($this->getRequest()->attributes->has('view_mode_name')) {
-      $this->mode = $this->getRequest()->attributes->get('view_mode_name');
-    }
-
+  public function buildForm(array $form, array &$form_state, $entity_type_id = NULL, $bundle = NULL, $view_mode_name = NULL) {
+    $this->mode = $view_mode_name;
     return parent::buildForm($form, $form_state, $entity_type_id, $bundle);
   }
 
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
index 2e19fb9..ca320d3 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
@@ -75,11 +75,8 @@ public function getFormId() {
   /**
    * {@inheritdoc}
    */
-  public function buildForm(array $form, array &$form_state, $entity_type_id = NULL, $bundle = NULL) {
-    if ($this->getRequest()->attributes->has('form_mode_name')) {
-      $this->mode = $this->getRequest()->attributes->get('form_mode_name');
-    }
-
+  public function buildForm(array $form, array &$form_state, $entity_type_id = NULL, $bundle = NULL, $form_mode_name = NULL) {
+    $this->mode = $form_mode_name;
     return parent::buildForm($form, $form_state, $entity_type_id, $bundle);
   }
 
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/ViewFormControllerBase.php b/core/modules/views_ui/lib/Drupal/views_ui/ViewFormControllerBase.php
index 9c96b48..de72c68 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/ViewFormControllerBase.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/ViewFormControllerBase.php
@@ -29,10 +29,6 @@
   public function init(array &$form_state) {
     parent::init($form_state);
 
-    if ($display_id = \Drupal::request()->attributes->get('display_id')) {
-      $this->displayID = $display_id;
-    }
-
     // @todo Remove the need for this.
     form_load_include($form_state, 'inc', 'views_ui', 'admin');
     $form_state['view'] = $this->entity;
@@ -41,6 +37,17 @@ public function init(array &$form_state) {
   /**
    * {@inheritdoc}
    */
+  public function buildForm(array $form, array &$form_state, $display_id = NULL) {
+    if (isset($display_id) && isset($form_state['display_id']) && ($display_id !== $form_state['display_id'])) {
+      throw new \InvalidArgumentException('Mismatch between $form_state[\'display_id\'] and $display_id.');
+    }
+    $this->displayID = isset($form_state['display_id']) ? $form_state['display_id'] : $display_id;
+    return parent::buildForm($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   protected function prepareEntity() {
     // Determine the displays available for editing.
     if ($tabs = $this->getDisplayTabs($this->entity)) {
