diff --git a/core/lib/Drupal/Core/Theme/AjaxBasePageNegotiator.php b/core/lib/Drupal/Core/Theme/AjaxBasePageNegotiator.php
index 261cedf..208a203 100644
--- a/core/lib/Drupal/Core/Theme/AjaxBasePageNegotiator.php
+++ b/core/lib/Drupal/Core/Theme/AjaxBasePageNegotiator.php
@@ -21,8 +21,6 @@
  * be displayed in either theme, but the Ajax response to the Field module's
  * "Add another item" button should be rendered using the same theme as the rest
  * of the page.
- *
- * Therefore specify '_theme: ajax_base_page' as part of the router options.
  */
 class AjaxBasePageNegotiator implements ThemeNegotiatorInterface {
 
@@ -67,17 +65,14 @@ public function __construct(CsrfTokenGenerator $token_generator, ConfigFactoryIn
    * {@inheritdoc}
    */
   public function applies(RouteMatchInterface $route_match) {
-    // Check whether the route was configured to use the base page theme.
-    return ($route = $route_match->getRouteObject())
-      && $route->hasOption('_theme')
-      && $route->getOption('_theme') == 'ajax_base_page';
+    return ($ajax_page_state = $this->requestStack->getCurrentRequest()->request->get('ajax_page_state')) && !empty($ajax_page_state['theme']) && isset($ajax_page_state['theme_token']);
   }
 
   /**
    * {@inheritdoc}
    */
   public function determineActiveTheme(RouteMatchInterface $route_match) {
-    if (($ajax_page_state = $this->requestStack->getCurrentRequest()->request->get('ajax_page_state'))  && !empty($ajax_page_state['theme']) && !empty($ajax_page_state['theme_token'])) {
+    if ($ajax_page_state = $this->requestStack->getCurrentRequest()->request->get('ajax_page_state')) {
       $theme = $ajax_page_state['theme'];
       $token = $ajax_page_state['theme_token'];
 
diff --git a/core/modules/contextual/contextual.routing.yml b/core/modules/contextual/contextual.routing.yml
index b44d619..8ab2f28 100644
--- a/core/modules/contextual/contextual.routing.yml
+++ b/core/modules/contextual/contextual.routing.yml
@@ -2,7 +2,5 @@ contextual.render:
   path: '/contextual/render'
   defaults:
     _controller: '\Drupal\contextual\ContextualController::render'
-  options:
-    _theme: ajax_base_page
   requirements:
     _permission: 'access contextual links'
diff --git a/core/modules/editor/editor.routing.yml b/core/modules/editor/editor.routing.yml
index cacdfc7..ad40c2f 100644
--- a/core/modules/editor/editor.routing.yml
+++ b/core/modules/editor/editor.routing.yml
@@ -2,8 +2,6 @@ editor.filter_xss:
   path: '/editor/filter_xss/{filter_format}'
   defaults:
     _controller: '\Drupal\editor\EditorController::filterXss'
-  options:
-    _theme: ajax_base_page
   requirements:
     _entity_access: 'filter_format.use'
 
@@ -12,7 +10,6 @@ editor.field_untransformed_text:
   defaults:
     _controller: '\Drupal\editor\EditorController::getUntransformedText'
   options:
-    _theme: ajax_base_page
     parameters:
       entity:
         type: entity:{entity_type}
@@ -25,8 +22,6 @@ editor.image_dialog:
   defaults:
     _form: '\Drupal\editor\Form\EditorImageDialog'
     _title: 'Upload image'
-  options:
-    _theme: ajax_base_page
   requirements:
     _entity_access: 'filter_format.use'
 
@@ -35,7 +30,5 @@ editor.link_dialog:
   defaults:
     _form: '\Drupal\editor\Form\EditorLinkDialog'
     _title: 'Add link'
-  options:
-    _theme: ajax_base_page
   requirements:
     _entity_access: 'filter_format.use'
diff --git a/core/modules/quickedit/quickedit.routing.yml b/core/modules/quickedit/quickedit.routing.yml
index 489d855..af22056 100644
--- a/core/modules/quickedit/quickedit.routing.yml
+++ b/core/modules/quickedit/quickedit.routing.yml
@@ -2,8 +2,6 @@ quickedit.metadata:
   path: '/quickedit/metadata'
   defaults:
     _controller: '\Drupal\quickedit\QuickEditController::metadata'
-  options:
-    _theme: ajax_base_page
   requirements:
     _permission: 'access in-place editing'
 
@@ -19,7 +17,6 @@ quickedit.field_form:
   defaults:
     _controller: '\Drupal\quickedit\QuickEditController::fieldForm'
   options:
-    _theme: ajax_base_page
     parameters:
       entity:
         type: entity:{entity_type}
diff --git a/core/modules/system/tests/modules/ajax_test/ajax_test.routing.yml b/core/modules/system/tests/modules/ajax_test/ajax_test.routing.yml
index d22be40..34f7844 100644
--- a/core/modules/system/tests/modules/ajax_test/ajax_test.routing.yml
+++ b/core/modules/system/tests/modules/ajax_test/ajax_test.routing.yml
@@ -39,8 +39,6 @@ ajax_test.order:
   path: '/ajax-test/order'
   defaults:
     _controller: '\Drupal\ajax_test\Controller\AjaxTestController::order'
-  options:
-    _theme: ajax_base_page
   requirements:
     _access: 'TRUE'
 
diff --git a/core/modules/toolbar/toolbar.routing.yml b/core/modules/toolbar/toolbar.routing.yml
index 0f9dcf8..10e6cc3 100644
--- a/core/modules/toolbar/toolbar.routing.yml
+++ b/core/modules/toolbar/toolbar.routing.yml
@@ -2,7 +2,5 @@ toolbar.subtrees:
   path: '/toolbar/subtrees/{hash}'
   defaults:
     _controller: '\Drupal\toolbar\Controller\ToolbarController::subtreesAjax'
-  options:
-    _theme: ajax_base_page
   requirements:
     _custom_access: '\Drupal\toolbar\Controller\ToolbarController::checkSubTreeAccess'
diff --git a/core/modules/views/views.routing.yml b/core/modules/views/views.routing.yml
index 3d84341..e720603 100644
--- a/core/modules/views/views.routing.yml
+++ b/core/modules/views/views.routing.yml
@@ -2,8 +2,6 @@ views.ajax:
   path: '/views/ajax'
   defaults:
     _controller: '\Drupal\views\Controller\ViewAjaxController::ajaxView'
-  options:
-    _theme: ajax_base_page
   requirements:
     _access: 'TRUE'
 
