diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 5296b08..c2ee17c 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -462,7 +462,7 @@ function _theme_process_registry(&$cache, $name, $type, $theme, $path) {
   // merge it into $cache.
   $function = $name . '_theme';
   if (function_exists($function)) {
-    $result = $function($cache, $type, $theme, $path);
+    $result = (array) $function($cache, $type, $theme, $path);
     foreach ($result as $hook => $info) {
       // When a theme or engine overrides a module's theme function
       // $result[$hook] will only contain key/value pairs for information being
diff --git a/core/modules/system/lib/Drupal/system/Tests/Theme/RegistryTest.php b/core/modules/system/lib/Drupal/system/Tests/Theme/RegistryTest.php
index 5ab43ca..38be5d5 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Theme/RegistryTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Theme/RegistryTest.php
@@ -20,7 +20,7 @@ class RegistryTest extends WebTestBase {
    *
    * @var array
    */
-  public static $modules = array('theme_test');
+  public static $modules = array('theme_test', 'theme_test_empty');
 
   protected $profile = 'testing';
   public static function getInfo() {
diff --git a/core/modules/system/tests/modules/theme_test_empty/theme_test_empty.info.yml b/core/modules/system/tests/modules/theme_test_empty/theme_test_empty.info.yml
new file mode 100644
index 0000000..8569523
--- /dev/null
+++ b/core/modules/system/tests/modules/theme_test_empty/theme_test_empty.info.yml
@@ -0,0 +1,7 @@
+name: 'Theme test empty hook_theme'
+type: module
+description: 'Support module for theme system testing with empty hook_theme.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/theme_test_empty/theme_test_empty.module b/core/modules/system/tests/modules/theme_test_empty/theme_test_empty.module
new file mode 100644
index 0000000..0bf1297
--- /dev/null
+++ b/core/modules/system/tests/modules/theme_test_empty/theme_test_empty.module
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * Implements hook_theme()
+ */
+function theme_test_empty_theme() {
+  return NULL;
+}
