diff --git a/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php b/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php
index e524359..a9c87ec 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php
@@ -7,18 +7,22 @@
 
 namespace Drupal\content_translation\Tests;
 
+use Drupal\Core\Cache\Cache;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Language\Language;
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\Core\Url;
 use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\Component\Utility\SafeMarkup;
+use Drupal\system\Tests\Cache\AssertPageCacheContextsAndTagsTrait;
 
 /**
  * Tests the Content Translation UI.
  */
 abstract class ContentTranslationUITestBase extends ContentTranslationTestBase {
 
+  use AssertPageCacheContextsAndTagsTrait;
+
   /**
    * The id of the entity being translated.
    *
@@ -34,6 +38,15 @@
   protected $testLanguageSelector = TRUE;
 
   /**
+   * Default cache contexts expected on a non-translated entity.
+   *
+   * Cache contexts will not be checked if this list is empty.
+   *
+   * @var array
+   */
+  protected $defaultCacheContexts = ['languages:language_interface', 'theme' , 'user.permissions'];
+
+  /**
    * Tests the basic translation UI.
    */
   function testTranslationUI() {
@@ -64,6 +77,11 @@ protected function doTestBasicTranslation() {
     $this->assertTrue($entity, 'Entity found in the database.');
     $this->drupalGet($entity->urlInfo());
     $this->assertResponse(200, 'Entity URL is valid.');
+
+    // Ensure that the content language cache context is not yet added to the
+    // page.
+    $this->assertCacheContexts($this->defaultCacheContexts);
+
     $this->drupalGet($entity->urlInfo('drupal:content-translation-overview'));
     $this->assertNoText('Source language', 'Source language column correctly hidden.');
 
@@ -87,9 +105,14 @@ protected function doTestBasicTranslation() {
     ], array('language' => $language));
     $this->drupalPostForm($add_url, $this->getEditValues($values, $langcode), $this->getFormSubmitActionForNewTranslation($entity, $langcode));
 
-    // Get the entity and reset its cache, so that the new translation gets the
+    // Ensure that the content language cache context is not yet added to the
+    // page.
+    $entity = entity_load($this->entityTypeId, $this->entityId, TRUE);
+    $this->drupalGet($entity->urlInfo());
+    $this->assertCacheContexts(Cache::mergeContexts(['languages:language_content'], $this->defaultCacheContexts));
+
+    // Reset the cache of the entity, so that the new translation gets the
     // updated values.
-    $entity = entity_load($this->entityTypeId, $this->entityId, TRUE);
     $metadata_source_translation = $this->manager->getTranslationMetadata($entity->getTranslation($default_langcode));
     $metadata_target_translation = $this->manager->getTranslationMetadata($entity->getTranslation($langcode));
 
diff --git a/core/modules/menu_link_content/src/Tests/MenuLinkContentTranslationUITest.php b/core/modules/menu_link_content/src/Tests/MenuLinkContentTranslationUITest.php
index b068808..faab9e6 100644
--- a/core/modules/menu_link_content/src/Tests/MenuLinkContentTranslationUITest.php
+++ b/core/modules/menu_link_content/src/Tests/MenuLinkContentTranslationUITest.php
@@ -18,6 +18,13 @@
 class MenuLinkContentTranslationUITest extends ContentTranslationUITestBase {
 
   /**
+   * Default cache contexts expected on a non-translated entity.
+   *
+   * @var array
+   */
+  protected $defaultCacheContexts = ['languages:language_interface', 'theme' , 'user.permissions', 'user.roles:authenticated'];
+
+  /**
    * Modules to enable.
    *
    * @var array
diff --git a/core/modules/node/src/Tests/NodeTranslationUITest.php b/core/modules/node/src/Tests/NodeTranslationUITest.php
index 287920b..5476ed9 100644
--- a/core/modules/node/src/Tests/NodeTranslationUITest.php
+++ b/core/modules/node/src/Tests/NodeTranslationUITest.php
@@ -22,6 +22,23 @@
 class NodeTranslationUITest extends ContentTranslationUITestBase {
 
   /**
+   * Default cache contexts expected on a non-translated entity.
+   *
+   * @var array
+   */
+  protected $defaultCacheContexts = [
+    'languages:language_interface',
+    'theme',
+    'user.permissions',
+    'route.menu_active_trails:account',
+    'route.menu_active_trails:footer',
+    'route.menu_active_trails:main',
+    'route.menu_active_trails:tools',
+    'timezone',
+    'user.roles'
+  ];
+
+  /**
    * Modules to enable.
    *
    * @var array
diff --git a/core/modules/shortcut/src/Tests/ShortcutTranslationUITest.php b/core/modules/shortcut/src/Tests/ShortcutTranslationUITest.php
index 3fc8232..007baa4 100644
--- a/core/modules/shortcut/src/Tests/ShortcutTranslationUITest.php
+++ b/core/modules/shortcut/src/Tests/ShortcutTranslationUITest.php
@@ -19,6 +19,13 @@
 class ShortcutTranslationUITest extends ContentTranslationUITestBase {
 
   /**
+   * Default cache contexts expected on a non-translated entity.
+   *
+   * @var array
+   */
+  protected $defaultCacheContexts = ['languages:language_interface', 'theme' , 'user'];
+
+  /**
    * Modules to enable.
    *
    * @var array
