diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php
index c189ede404..caf63a68c9 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php
@@ -35,6 +35,14 @@ class ContentTranslationMetadataFieldsTest extends ContentTranslationTestBase {
    */
   protected $defaultTheme = 'stark';
 
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp(): void {
+    parent::setUp();
+    $this->prepare();
+  }
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationNewTranslationWithExistingRevisionsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationNewTranslationWithExistingRevisionsTest.php
index e11056f56c..710b3bfc66 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationNewTranslationWithExistingRevisionsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationNewTranslationWithExistingRevisionsTest.php
@@ -33,6 +33,7 @@ class ContentTranslationNewTranslationWithExistingRevisionsTest extends ContentT
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->prepare();
     $this->enableContentModeration();
   }
 
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationOutdatedRevisionTranslationTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationOutdatedRevisionTranslationTest.php
index b01f5b5c70..80782e7954 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationOutdatedRevisionTranslationTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationOutdatedRevisionTranslationTest.php
@@ -22,6 +22,7 @@ class ContentTranslationOutdatedRevisionTranslationTest extends ContentTranslati
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->prepare();
     $this->enableContentModeration();
   }
 
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationRevisionTranslationDeletionTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationRevisionTranslationDeletionTest.php
index 97e2f0da6b..7a63d3dfcb 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationRevisionTranslationDeletionTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationRevisionTranslationDeletionTest.php
@@ -22,6 +22,7 @@ class ContentTranslationRevisionTranslationDeletionTest extends ContentTranslati
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->prepare();
     $this->enableContentModeration();
   }
 
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationSyncImageTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationSyncImageTest.php
index 899083a87c..b6e8df6f31 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationSyncImageTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationSyncImageTest.php
@@ -57,6 +57,7 @@ class ContentTranslationSyncImageTest extends ContentTranslationTestBase {
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->prepare();
     $this->files = $this->drupalGetTestFiles('image');
   }
 
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php
index 405fa2beea..a48ba58bf4 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php
@@ -83,11 +83,9 @@ abstract class ContentTranslationTestBase extends BrowserTestBase {
   protected $manager;
 
   /**
-   * {@inheritdoc}
+   * Completes preparation for content translation tests.
    */
-  protected function setUp(): void {
-    parent::setUp();
-
+  protected function prepare(): void {
     $this->setupLanguages();
     $this->setupBundle();
     $this->enableTranslation();
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php
index c499328bd0..0c3e578cac 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php
@@ -32,6 +32,7 @@ class ContentTranslationUntranslatableFieldsTest extends ContentTranslationPendi
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->prepare();
 
     // Configure one field as untranslatable.
     $this->drupalLogin($this->administrator);
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationWorkflowsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationWorkflowsTest.php
index c8b740e047..0fbb9439af 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationWorkflowsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationWorkflowsTest.php
@@ -74,6 +74,7 @@ class ContentTranslationWorkflowsTest extends ContentTranslationTestBase {
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->prepare();
 
     $field_storage = FieldStorageConfig::create([
       'field_name' => 'field_reference',
diff --git a/core/modules/content_translation/tests/src/Functional/Views/TranslationLinkTest.php b/core/modules/content_translation/tests/src/Functional/Views/TranslationLinkTest.php
index 336bc3b9cb..369c3592bb 100644
--- a/core/modules/content_translation/tests/src/Functional/Views/TranslationLinkTest.php
+++ b/core/modules/content_translation/tests/src/Functional/Views/TranslationLinkTest.php
@@ -42,6 +42,7 @@ protected function setUp(): void {
     $this->entityTypeId = 'user';
 
     parent::setUp();
+    $this->prepare();
 
     // Assign user 1  a language code so that the entity can be translated.
     $user = User::load(1);
diff --git a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php b/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php
index 4b5999d903..ac552cf422 100644
--- a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php
+++ b/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php
@@ -41,6 +41,7 @@ class LayoutBuilderTranslationTest extends ContentTranslationTestBase {
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->prepare();
     $this->setUpViewDisplay();
     $this->setUpEntities();
   }
diff --git a/core/modules/node/tests/src/Functional/NodeTranslationUITest.php b/core/modules/node/tests/src/Functional/NodeTranslationUITest.php
index 004fab2e56..640f3806ad 100644
--- a/core/modules/node/tests/src/Functional/NodeTranslationUITest.php
+++ b/core/modules/node/tests/src/Functional/NodeTranslationUITest.php
@@ -2,13 +2,19 @@
 
 namespace Drupal\Tests\node\Functional;
 
+use Drupal\comment\Tests\CommentTestTrait;
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\field\Entity\FieldConfig;
+use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\content_translation\Functional\ContentTranslationUITestBase;
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\Core\Url;
-use Drupal\Tests\content_translation\Functional\ContentTranslationUITestBase;
-use Drupal\Tests\language\Traits\LanguageTestTrait;
-use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\node\Entity\Node;
+use Drupal\language\Entity\ConfigurableLanguage;
+use Drupal\Tests\language\Traits\LanguageTestTrait;
+use Drupal\user\Entity\Role;
+use Drupal\user\RoleInterface;
 
 /**
  * Tests the Node Translation UI.
@@ -19,6 +25,7 @@
 class NodeTranslationUITest extends ContentTranslationUITestBase {
 
   use LanguageTestTrait;
+  use CommentTestTrait;
 
   /**
    * {@inheritdoc}
@@ -29,18 +36,12 @@ class NodeTranslationUITest extends ContentTranslationUITestBase {
    * {@inheritdoc}
    */
   protected $defaultCacheContexts = [
-    'languages:language_interface',
     'theme',
-    'route',
     'timezone',
-    'url.path.parent',
     'url.query_args:_wrapper_format',
     'url.site',
-    'user.roles',
-    'url.path.is_front',
-    // These two cache contexts are added by BigPipe.
-    'cookies:big_pipe_nojs',
-    'session.exists',
+    'user.permissions',
+    'user.roles:authenticated',
   ];
 
   /**
@@ -53,18 +54,9 @@ class NodeTranslationUITest extends ContentTranslationUITestBase {
     'language',
     'content_translation',
     'node',
-    'datetime',
     'field_ui',
-    'help',
   ];
 
-  /**
-   * The profile to install as a basis for testing.
-   *
-   * @var string
-   */
-  protected $profile = 'standard';
-
   /**
    * {@inheritdoc}
    */
@@ -73,6 +65,10 @@ protected function setUp(): void {
     $this->bundle = 'article';
     parent::setUp();
 
+    // Create the bundle.
+    $this->drupalCreateContentType(['type' => 'article', 'title' => 'Article']);
+    $this->prepare();
+
     // Ensure the help message is shown even with prefixed paths.
     $this->drupalPlaceBlock('help_block', ['region' => 'content']);
 
@@ -99,10 +95,6 @@ public function testPublishedStatusNoFields() {
     $this->drupalGet('admin/structure/types/manage/article/fields');
     $this->drupalGet('admin/structure/types/manage/article/fields/node.article.' . $this->fieldName . '/delete');
     $this->submitForm([], 'Delete');
-    $this->drupalGet('admin/structure/types/manage/article/fields/node.article.field_tags/delete');
-    $this->submitForm([], 'Delete');
-    $this->drupalGet('admin/structure/types/manage/article/fields/node.article.field_image/delete');
-    $this->submitForm([], 'Delete');
 
     // Add a node.
     $default_langcode = $this->langcodes[0];
@@ -312,6 +304,15 @@ public function testDisabledBundle() {
    * Tests that translations are rendered properly.
    */
   public function testTranslationRendering() {
+    // Add a comment field to the article content type.
+    \Drupal::service('module_installer')->install(['comment']);
+    $this->addDefaultCommentField('node', 'article');
+
+    // Add 'post comments' permission to the authenticated role.
+    $role = Role::load(RoleInterface::AUTHENTICATED_ID);
+    $role->grantPermission('post comments')
+      ->save();
+
     $default_langcode = $this->langcodes[0];
     $values[$default_langcode] = $this->getNewEntityValues($default_langcode);
     $this->entityId = $this->createEntity($values[$default_langcode], $default_langcode);
@@ -556,6 +557,20 @@ public function testRevisionTranslationRendering() {
    * Tests title is not escaped (but XSS-filtered) for details form element.
    */
   public function testDetailsTitleIsNotEscaped() {
+    // Create an image field.
+    \Drupal::service('module_installer')->install(['image']);
+    FieldStorageConfig::create([
+      'entity_type' => 'node',
+      'field_name' => 'field_image',
+      'type' => 'image',
+    ])->save();
+    FieldConfig::create([
+      'entity_type' => 'node',
+      'field_name' => 'field_image',
+      'bundle' => 'article',
+      'translatable' => TRUE,
+    ])->save();
+
     $this->drupalLogin($this->administrator);
     // Make the image field a multi-value field in order to display a
     // details form element.
@@ -563,6 +578,10 @@ public function testDetailsTitleIsNotEscaped() {
     $this->drupalGet('admin/structure/types/manage/article/fields/node.article.field_image');
     $this->submitForm($edit, 'Save');
 
+    // Enable the display of the image field.
+    EntityFormDisplay::load('node.article.default')
+      ->setComponent('field_image', ['region' => 'content'])->save();
+
     // Make the image field non-translatable.
     static::setFieldTranslatable('node', 'article', 'field_image', FALSE);
 
