diff --git a/core/modules/update/lib/Drupal/update/Controller/UpdateController.php b/core/modules/update/lib/Drupal/update/Controller/UpdateController.php
deleted file mode 100644
index d46af8aa87244bb3c2c60ae2c4862ee769434a1f..0000000000000000000000000000000000000000
--- a/core/modules/update/lib/Drupal/update/Controller/UpdateController.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\update\Controller\UpdateController
- */
-
-namespace Drupal\update\Controller;
-
-use Drupal\Core\ControllerInterface;
-use Drupal\Core\Extension\ModuleHandlerInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-
-/**
- * Controller routines for update routes.
- */
-class UpdateController implements ControllerInterface {
-
-  /**
-   * Module handler service.
-   *
-   * @var \Drupal\Core\Extension\ModuleHandlerInterface
-   */
-  protected $moduleHandler;
-
-  /**
-   * Constructs update status data.
-   *
-   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
-   *   Module Handler Service.
-   */
-  public function __construct(ModuleHandlerInterface $module_handler) {
-    $this->moduleHandler = $module_handler;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('module_handler')
-    );
-  }
-
-  /**
-   * Returns a page about the update status of projects.
-   *
-   * @return array
-   *   A build array with the update status of projects.
-   */
-  public function updateStatus() {
-    $build  = array(
-      '#theme' => 'update_report'
-    );
-    if ($available = update_get_available(TRUE)) {
-      $this->moduleHandler->loadInclude('update', 'compare.inc');
-      $build['#data'] = update_calculate_project_data($available);
-    }
-    else {
-      $build['#data'] = _update_no_data();
-    }
-    return $build;
-  }
-
-}
diff --git a/core/modules/update/update.module b/core/modules/update/update.module
index 59b35753db28c7a23e1ebdc7d71429bcc28d225a..7dee311259fa5a2854d94b3bc76af6c6e4caf957 100644
--- a/core/modules/update/update.module
+++ b/core/modules/update/update.module
@@ -158,8 +158,10 @@ function update_menu() {
   $items['admin/reports/updates'] = array(
     'title' => 'Available updates',
     'description' => 'Get a status report about available updates for your installed modules and themes.',
-    'route_name' => 'update_status',
+    'page callback' => 'update_status',
+    'access arguments' => array('administer site configuration'),
     'weight' => -50,
+    'file' => 'update.report.inc',
   );
   $items['admin/reports/updates/list'] = array(
     'title' => 'List',
diff --git a/core/modules/update/update.report.inc b/core/modules/update/update.report.inc
index 35677d889244e5536cb824c7f909df71dc10203e..607b523137cbd534c0114eda302fa982b2bfb236 100644
--- a/core/modules/update/update.report.inc
+++ b/core/modules/update/update.report.inc
@@ -5,6 +5,22 @@
  * Code required only when rendering the available updates report.
  */
 
+/**
+ * Page callback: Generates a page about the update status of projects.
+ *
+ * @see update_menu()
+ */
+function update_status() {
+  if ($available = update_get_available(TRUE)) {
+    module_load_include('inc', 'update', 'update.compare');
+    $data = update_calculate_project_data($available);
+    return theme('update_report', array('data' => $data));
+  }
+  else {
+    return theme('update_report', array('data' => _update_no_data()));
+  }
+}
+
 /**
  * Returns HTML for the project status report.
  *
diff --git a/core/modules/update/update.routing.yml b/core/modules/update/update.routing.yml
index 16ac4b4d805e982d52b0c2b371599b0531248f84..f201302d814ce38d6d4a3baaccab4c746a77a6f5 100644
--- a/core/modules/update/update.routing.yml
+++ b/core/modules/update/update.routing.yml
@@ -4,10 +4,3 @@ update_settings:
     _form: '\Drupal\update\UpdateSettingsForm'
   requirements:
     _permission: 'administer site configuration'
-
-update_status:
-  pattern: '/admin/reports/updates'
-  defaults:
-    _content: '\Drupal\update\Controller\UpdateController::updateStatus'
-  requirements:
-    _permission: 'administer site configuration'