diff -u b/core/modules/overlay/lib/Drupal/overlay/EventSubscriber/OverlaySubscriber.php b/core/modules/overlay/lib/Drupal/overlay/EventSubscriber/OverlaySubscriber.php --- b/core/modules/overlay/lib/Drupal/overlay/EventSubscriber/OverlaySubscriber.php +++ b/core/modules/overlay/lib/Drupal/overlay/EventSubscriber/OverlaySubscriber.php @@ -80,7 +80,7 @@ // set. Other modules can also enable the overlay directly for other uses. $user_data = $this->userData->get('overlay', $user->id(), 'enabled'); $use_overlay = !isset($user_data) || $user_data; - if (empty($mode) && $request->attributes->get('_account')->hasPermission('access overlay') && $use_overlay) { + if (empty($mode) && $user->hasPermission('access overlay') && $use_overlay) { $current_path = $request->attributes->get('_system_path'); // After overlay is enabled on the modules page, redirect to // #overlay=admin/modules to actually enable the overlay. diff -u b/core/modules/overlay/overlay.module b/core/modules/overlay/overlay.module --- b/core/modules/overlay/overlay.module +++ b/core/modules/overlay/overlay.module @@ -229,7 +229,7 @@ * @see http://drupal.org/node/890284 */ function overlay_disable_message() { - $user = Drupal::request()->attributes->get('_account'); + global $user; $build = array(); if ($user->isAnonymous() || !$user->hasPermission('access overlay')) {