diff --git a/core/modules/book/src/Plugin/Block/BookNavigationBlock.php b/core/modules/book/src/Plugin/Block/BookNavigationBlock.php
index 1a68622..216f69b 100644
--- a/core/modules/book/src/Plugin/Block/BookNavigationBlock.php
+++ b/core/modules/book/src/Plugin/Block/BookNavigationBlock.php
@@ -9,6 +9,7 @@
 
 use Drupal\Core\Block\BlockBase;
 use Drupal\book\BookManagerInterface;
+use Drupal\Core\Cache\Cache;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -182,12 +183,7 @@ public function build() {
    * {@inheritdoc}
    */
   public function getCacheContexts() {
-    // The "Book navigation" block must be cached per role and book navigation
-    // context.
-    return [
-      'user.roles',
-      'route.book_navigation',
-    ];
+    return Cache::mergeContexts(parent::getCacheContexts(), ['route.book_navigation']);
   }
 
   /**
diff --git a/core/modules/forum/src/Plugin/Block/ForumBlockBase.php b/core/modules/forum/src/Plugin/Block/ForumBlockBase.php
index 5e8fbeb..321662d 100644
--- a/core/modules/forum/src/Plugin/Block/ForumBlockBase.php
+++ b/core/modules/forum/src/Plugin/Block/ForumBlockBase.php
@@ -88,14 +88,14 @@ public function blockSubmit($form, FormStateInterface $form_state) {
    * {@inheritdoc}
    */
   public function getCacheContexts() {
-    return ['user.node_grants:view'];
+    return Cache::mergeContexts(parent::getCacheContexts(), ['user.node_grants:view']);
   }
 
   /**
    * {@inheritdoc}
    */
   public function getCacheTags() {
-    return ['node_list'];
+    return Cache::mergeTags(parent::getCacheTags(), ['node_list']);
   }
 
 }
diff --git a/core/modules/help/src/Plugin/Block/HelpBlock.php b/core/modules/help/src/Plugin/Block/HelpBlock.php
index abe3c25..9253bd0 100644
--- a/core/modules/help/src/Plugin/Block/HelpBlock.php
+++ b/core/modules/help/src/Plugin/Block/HelpBlock.php
@@ -9,6 +9,7 @@
 
 use Drupal\Core\Access\AccessResult;
 use Drupal\Core\Block\BlockBase;
+use Drupal\Core\Cache\Cache;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\Core\Routing\RouteMatchInterface;
@@ -120,9 +121,7 @@ public function build() {
    * {@inheritdoc}
    */
   public function getCacheContexts() {
-    // The "Help" block must be cached per URL: help is defined for a
-    // given path, and does not come with any access restrictions.
-    return array('url');
+    return Cache::mergeContexts(parent::getCacheContexts(), ['route']);;
   }
 
 }
diff --git a/core/modules/node/src/Tests/NodeTranslationUITest.php b/core/modules/node/src/Tests/NodeTranslationUITest.php
index fe3a4bc..509a0d1 100644
--- a/core/modules/node/src/Tests/NodeTranslationUITest.php
+++ b/core/modules/node/src/Tests/NodeTranslationUITest.php
@@ -27,10 +27,7 @@ class NodeTranslationUITest extends ContentTranslationUITestBase {
   protected $defaultCacheContexts = [
     'languages:language_interface',
     'theme',
-    'route.menu_active_trails:account',
-    'route.menu_active_trails:footer',
-    'route.menu_active_trails:main',
-    'route.menu_active_trails:tools',
+    'route',
     'timezone',
     'url',
     'user'
diff --git a/core/modules/system/src/Plugin/Block/SystemMenuBlock.php b/core/modules/system/src/Plugin/Block/SystemMenuBlock.php
index aec9716..83a2f85 100644
--- a/core/modules/system/src/Plugin/Block/SystemMenuBlock.php
+++ b/core/modules/system/src/Plugin/Block/SystemMenuBlock.php
@@ -8,6 +8,7 @@
 namespace Drupal\system\Plugin\Block;
 
 use Drupal\Core\Block\BlockBase;
+use Drupal\Core\Cache\Cache;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Menu\MenuActiveTrailInterface;
 use Drupal\Core\Menu\MenuLinkTreeInterface;
@@ -194,9 +195,7 @@ public function getCacheContexts() {
     // Additional cache contexts, e.g. those that determine link text or
     // accessibility of a menu, will be bubbled automatically.
     $menu_name = $this->getDerivativeId();
-    return [
-      'route.menu_active_trails:' . $menu_name,
-    ];
+    return Cache::mergeContexts(parent::getCacheContexts(), ['route.menu_active_trails:' . $menu_name]);
   }
 
 }
