diff --git a/core/lib/Drupal/Core/Render/theme.api.php b/core/lib/Drupal/Core/Render/theme.api.php
index f91411b..754641c 100644
--- a/core/lib/Drupal/Core/Render/theme.api.php
+++ b/core/lib/Drupal/Core/Render/theme.api.php
@@ -613,6 +613,10 @@ function hook_preprocess_HOOK(&$variables) {
  * hook called (in this case 'node__article') is available in
  * $variables['theme_hook_original'].
  *
+ * Implementations of this hook must be placed in *.module or *.theme files, or
+ * must otherwise make sure that the hook implementation is available at
+ * any given time.
+ *
  * @todo Add @code sample.
  *
  * @param array $variables
@@ -694,6 +698,10 @@ function hook_theme_suggestions_alter(array &$suggestions, array $variables, $ho
  * hook called (in this case 'node__article') is available in
  * $variables['theme_hook_original'].
  *
+ * Implementations of this hook must be placed in *.module or *.theme files, or
+ * must otherwise make sure that the hook implementation is available at
+ * any given time.
+ *
  * @todo Add @code sample.
  *
  * @param array $suggestions
diff --git a/core/modules/search/search.module b/core/modules/search/search.module
index 33171ae..5be9206 100644
--- a/core/modules/search/search.module
+++ b/core/modules/search/search.module
@@ -107,6 +107,13 @@ function search_theme() {
 }
 
 /**
+ * Implements hook_theme_suggestions_HOOK().
+ */
+function search_theme_suggestions_search_result(array $variables) {
+  return ['search_result__' . $variables['plugin_id']];
+}
+
+/**
  * Implements hook_preprocess_HOOK() for block templates.
  */
 function search_preprocess_block(&$variables) {
diff --git a/core/modules/search/search.pages.inc b/core/modules/search/search.pages.inc
index 9467dd8..703b2ff 100644
--- a/core/modules/search/search.pages.inc
+++ b/core/modules/search/search.pages.inc
@@ -9,13 +9,6 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Implements hook_theme_suggestions_HOOK().
- */
-function search_theme_suggestions_search_result(array $variables) {
-  return ['search_result__' . $variables['plugin_id']];
-}
-
-/**
  * Prepares variables for individual search result templates.
  *
  * Default template: search-result.html.twig
diff --git a/core/modules/views_ui/views_ui.module b/core/modules/views_ui/views_ui.module
index 15f85e3..bae74a8 100644
--- a/core/modules/views_ui/views_ui.module
+++ b/core/modules/views_ui/views_ui.module
@@ -157,6 +157,13 @@ function views_ui_preprocess_views_view(&$variables) {
 }
 
 /**
+ * Implements hook_theme_suggestions_HOOK().
+ */
+function views_ui_theme_suggestions_views_ui_view_preview_section(array $variables) {
+  return ['views_ui_view_preview_section__' . $variables['section']];
+}
+
+/**
  * Returns contextual links for each handler of a certain section.
  *
  * @TODO
diff --git a/core/modules/views_ui/views_ui.theme.inc b/core/modules/views_ui/views_ui.theme.inc
index e6ef875..d1aef4c 100644
--- a/core/modules/views_ui/views_ui.theme.inc
+++ b/core/modules/views_ui/views_ui.theme.inc
@@ -547,10 +547,3 @@ function template_preprocess_views_ui_view_preview_section(&$variables) {
     $variables['links'] = $build;
   }
 }
-
-/**
- * Implements hook_theme_suggestions_HOOK().
- */
-function views_ui_theme_suggestions_views_ui_view_preview_section(array $variables) {
-  return ['views_ui_view_preview_section__' . $variables['section']];
-}
