diff --git a/core/modules/system/lib/Drupal/system/Controller/SystemInfoController.php b/core/modules/system/lib/Drupal/system/Controller/SystemInfoController.php
index 0f7cba1..d97b2f8 100644
--- a/core/modules/system/lib/Drupal/system/Controller/SystemInfoController.php
+++ b/core/modules/system/lib/Drupal/system/Controller/SystemInfoController.php
@@ -53,7 +53,63 @@ public function __construct(SystemManager $systemManager) {
   public function status() {
     $requirements = $this->systemManager->listRequirements();
     $this->systemManager->fixAnonymousUid();
-    return theme('status_report', array('requirements' => $requirements));
+
+    $severities = array(
+      REQUIREMENT_INFO => array(
+        'title' => t('Info'),
+        'class' => 'info',
+      ),
+      REQUIREMENT_OK => array(
+        'title' => t('OK'),
+        'class' => 'ok',
+      ),
+      REQUIREMENT_WARNING => array(
+        'title' => t('Warning'),
+        'class' => 'warning',
+      ),
+      REQUIREMENT_ERROR => array(
+        'title' => t('Error'),
+        'class' => 'error',
+      ),
+    );
+
+    $build = array(
+      '#type' => 'table',
+      '#attributes' => array('class' => array('system-status-report')),
+      '#header' => array(t('Status'), t('Component'), t('Details')),
+      '#rows' => array(),
+    );
+
+    $is_maintenance = defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'install';
+    foreach ($requirements as $requirement) {
+      if (empty($requirement['#type'])) {
+        // Always use the explicit requirement severity, if defined. Otherwise,
+        // default to REQUIREMENT_OK in the installer to visually confirm that
+        // installation requirements are met. And default to REQUIREMENT_INFO to
+        // denote neutral information without special visualization.
+        if (isset($requirement['severity'])) {
+          $severity = $severities[(int) $requirement['severity']];
+        }
+        elseif ($is_maintenance) {
+          $severity = $severities[REQUIREMENT_OK];
+        }
+        else {
+          $severity = $severities[REQUIREMENT_INFO];
+        }
+
+        $severity['icon'] = '<div title="' . $severity['title'] . '"><span class="element-invisible">' . $severity['title'] . '</span></div>';
+
+        $row = array();
+        $row[] = array('class' => array('status-icon'), 'data' => $severity['icon']);
+        $row[] = array('class' => array('status-title'), 'data' => $requirement['title']);
+        if (!empty($requirement['description'])) {
+          $requirement['value'] .= '<div class="description">' . $requirement['description'] . '</div>';
+        }
+        $row[] = array('class' => array('status-value'), 'data' => $requirement['value']);
+        $build['#rows'][] = array('class' => array($severity['class']), 'data' => $row);
+      }
+    }
+    return $build;
   }
 
   /**
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index 6177dfd..b01822d 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -1469,73 +1469,6 @@ function theme_system_admin_index($variables) {
 }
 
 /**
- * Returns HTML for the status report.
- *
- * @param $variables
- *   An associative array containing:
- *   - requirements: An array of requirements.
- *
- * @ingroup themeable
- */
-function theme_status_report($variables) {
-  $requirements = $variables['requirements'];
-  $severities = array(
-    REQUIREMENT_INFO => array(
-      'title' => t('Info'),
-      'class' => 'info',
-    ),
-    REQUIREMENT_OK => array(
-      'title' => t('OK'),
-      'class' => 'ok',
-    ),
-    REQUIREMENT_WARNING => array(
-      'title' => t('Warning'),
-      'class' => 'warning',
-    ),
-    REQUIREMENT_ERROR => array(
-      'title' => t('Error'),
-      'class' => 'error',
-    ),
-  );
-  $output = '<table class="system-status-report"><thead><tr class="element-invisible">';
-  $output .= '<th>' . t('Status') . '</th><th>' . t('Component') . '</th><th>' . t('Details') . '</th>';
-  $output .= '</tr></thead><tbody>';
-
-  foreach ($requirements as $requirement) {
-    if (empty($requirement['#type'])) {
-      // Always use the explicit requirement severity, if defined. Otherwise,
-      // default to REQUIREMENT_OK in the installer to visually confirm that
-      // installation requirements are met. And default to REQUIREMENT_INFO to
-      // denote neutral information without special visualization.
-      if (isset($requirement['severity'])) {
-        $severity = $severities[(int) $requirement['severity']];
-      }
-      elseif (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'install') {
-        $severity = $severities[REQUIREMENT_OK];
-      }
-      else {
-        $severity = $severities[REQUIREMENT_INFO];
-      }
-
-      $severity['icon'] = '<div title="' . $severity['title'] . '"><span class="element-invisible">' . $severity['title'] . '</span></div>';
-
-      // Output table rows.
-      $output .= '<tr class="' . $severity['class'] . '">';
-      $output .= '<td class="status-icon">' . $severity['icon'] . '</td>';
-      $output .= '<td class="status-title">' . $requirement['title'] . '</td>';
-      $output .= '<td class="status-value">' . $requirement['value'];
-      if (!empty($requirement['description'])) {
-        $output .= '<div class="description">' . $requirement['description'] . '</div>';
-      }
-      $output .= '</td></tr>';
-    }
-  }
-
-  $output .= '</tbody></table>';
-  return $output;
-}
-
-/**
  * Returns HTML for the modules form.
  *
  * @param $variables
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index db6ecc1..9dc15b8 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -160,10 +160,6 @@ function system_theme() {
       'render element' => 'form',
       'file' => 'system.admin.inc',
     ),
-    'status_report' => array(
-      'render element' => 'requirements',
-      'file' => 'system.admin.inc',
-    ),
     'admin_page' => array(
       'variables' => array('blocks' => NULL),
       'file' => 'system.admin.inc',
