diff --git a/core/modules/contextual/contextual.module b/core/modules/contextual/contextual.module
index aaab3a6e9d..055881cfe6 100644
--- a/core/modules/contextual/contextual.module
+++ b/core/modules/contextual/contextual.module
@@ -177,6 +177,9 @@ function _contextual_links_to_id($contextual_links) {
   $ids = [];
   $langcode = \Drupal::languageManager()->getCurrentLanguage(LanguageInterface::TYPE_URL)->getId();
   foreach ($contextual_links as $group => $args) {
+    if (!isset($args['route_parameters']) || !is_array($args['route_parameters'])) {
+      \Drupal::logger('contextual')->error('Contextual link for group @group has broken route_parameters', ['@group' => $group]);
+    }
     $route_parameters = UrlHelper::buildQuery($args['route_parameters']);
     $args += ['metadata' => []];
     // Add the current URL language to metadata so a different ID will be
