diff --git a/core/modules/views/views.module b/core/modules/views/views.module
index 3bc0bd1..b1c253e 100644
--- a/core/modules/views/views.module
+++ b/core/modules/views/views.module
@@ -571,12 +571,11 @@ function views_add_contextual_links(&$render_element, $location, ViewExecutable
     // Also do not do anything if the display plugin has not defined any
     // contextual links that are intended to be displayed in the requested
     // location.
-    $plugin_id = $view->displayHandlers->get($display_id)->getPluginId();
-    $plugin = Views::pluginManager('display')->getDefinition($plugin_id);
+    $plugin = $view->displayHandlers->get($display_id)->getDefinition();
+    // @todo Clean this up, this is crazy.
     // If contextual_links_locations are not set, provide a sane default. (To
     // avoid displaying any contextual links at all, a display plugin can still
     // set 'contextual_links_locations' to, e.g., {""}.)
-
     if (!isset($plugin['contextual_links_locations'])) {
       $plugin['contextual_links_locations'] = array('view');
     }
@@ -589,6 +588,9 @@ function views_add_contextual_links(&$render_element, $location, ViewExecutable
 
     // On exposed_forms blocks contextual links should always be visible.
     $plugin['contextual_links_locations'][] = 'exposed_filter';
+    // @todo 'contextual links' would be an invalid annotation value. So where
+    //   does it come from? Probably views_ui_views_plugins_display_alter(), but
+    //   who knows how?
     $has_links = !empty($plugin['contextual links']) && !empty($plugin['contextual_links_locations']);
     if ($has_links && in_array($location, $plugin['contextual_links_locations'])) {
       foreach ($plugin['contextual links'] as $module => $link) {
