diff --git a/core/modules/content_translation/src/Tests/ContentTranslationOperationsTest.php b/core/modules/content_translation/src/Tests/ContentTranslationOperationsTest.php
index f987494..fbe08c9 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationOperationsTest.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationOperationsTest.php
@@ -37,8 +37,11 @@ class ContentTranslationOperationsTest extends NodeTestBase {
    *
    * @var array
    */
-  public static $modules = ['language', 'content_translation', 'node', 'views'];
+  public static $modules = ['language', 'content_translation', 'node', 'views', 'block'];
 
+  /**
+   * {@inheritdoc}
+   */
   protected function setUp() {
     parent::setUp();
 
@@ -63,7 +66,7 @@ protected function setUp() {
   /**
    * Test that the operation "Translate" is displayed in the content listing.
    */
-  function testOperationTranslateLink() {
+  public function testOperationTranslateLink() {
     $node = $this->drupalCreateNode(['type' => 'article', 'langcode' => 'es']);
     // Verify no translation operation links are displayed for users without
     // permission.
@@ -103,9 +106,38 @@ function testOperationTranslateLink() {
     $node->setPublished(FALSE)->save();
     $this->drupalGet($node->urlInfo('drupal:content-translation-overview'));
     $this->assertResponse(403);
+    $this->drupalLogout();
+
+    // Ensure that when I disable translation for a content type I don't
+    // see a translate link anymore in the actions block.
+    $this->drupalLogin($this->baseUser2);
+    // Place the actions block.
+    $this->drupalPlaceBlock('local_tasks_block');
+    // Publish the node again.
+    $node->setPublished(TRUE)->save();
+    // Make the user ablo to submit the translation settings form.
+    user_role_change_permissions(
+      Role::AUTHENTICATED_ID,
+      [
+        'administer content translation' => TRUE,
+        'administer languages' => TRUE,
+      ]
+    );
+    // Warm cache.
+    $this->drupalGet('node/' . $node->id());
+    // Check that we can see the translate link.
+    $this->assertLinkByHref('node/' . $node->id() . '/translations');
+    // Make article not translatable.
+    $this->drupalPostForm('admin/config/regional/content-language', ['settings[node][article][translatable]' => FALSE], t('Save configuration'));
+    // Go back to the node.
+    $this->drupalGet('node/' . $node->id());
+    // Check that there is no link to translate anymore.
+    $this->assertNoLinkByHref('node/' . $node->id() . '/translations');
   }
 
   /**
+   * Test the access to the overview page for translations.
+   *
    * @see content_translation_translate_access()
    */
   public function testContentTranslationOverviewAccess() {
diff --git a/core/modules/language/src/Form/ContentLanguageSettingsForm.php b/core/modules/language/src/Form/ContentLanguageSettingsForm.php
index ebbf0fd..aa5302c 100644
--- a/core/modules/language/src/Form/ContentLanguageSettingsForm.php
+++ b/core/modules/language/src/Form/ContentLanguageSettingsForm.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\language\Form;
 
+use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Entity\ContentEntityTypeInterface;
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\Core\Form\FormBase;
@@ -27,13 +28,23 @@ class ContentLanguageSettingsForm extends FormBase {
   protected $entityManager;
 
   /**
+   * The cache tags invalidator.
+   *
+   * @var \Drupal\Core\Cache\CacheTagsInvalidatorInterface
+   */
+  protected $cacheTagsInvalidator;
+
+  /**
    * Constructs a ContentLanguageSettingsForm object.
    *
    * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
    *   The entity manager.
+   * @param \Drupal\Core\Cache\CacheTagsInvalidatorInterface $cache_tags_invalidator
+   *   The cache tags invalidator.
    */
-  public function __construct(EntityManagerInterface $entity_manager) {
+  public function __construct(EntityManagerInterface $entity_manager, CacheTagsInvalidatorInterface $cache_tags_invalidator) {
     $this->entityManager = $entity_manager;
+    $this->cacheTagsInvalidator = $cache_tags_invalidator;
   }
 
   /**
@@ -41,7 +52,8 @@ public function __construct(EntityManagerInterface $entity_manager) {
    */
   public static function create(ContainerInterface $container) {
     return new static(
-      $container->get('entity.manager')
+      $container->get('entity.manager'),
+      $container->get('cache_tags.invalidator')
     );
   }
 
@@ -156,6 +168,9 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
           ->save();
       }
     }
+    // Invalidate the rendered tag cache because we need to show new actions in
+    // blocks with tabs. eg. "Translate".
+    $this->cacheTagsInvalidator->invalidateTags(['rendered']);;
     drupal_set_message($this->t('Settings successfully updated.'));
   }
 
