diff --git a/core/modules/content_translation/content_translation.admin.inc b/core/modules/content_translation/content_translation.admin.inc
index cea6b2e..5c6eb22 100644
--- a/core/modules/content_translation/content_translation.admin.inc
+++ b/core/modules/content_translation/content_translation.admin.inc
@@ -96,7 +96,7 @@ function _content_translation_form_language_content_settings_form_alter(array &$
       // about UI integration.
       $form['settings'][$entity_type_id][$bundle]['settings']['language']['#content_translation_skip_alter'] = TRUE;
       if (!$entity_type_translatable) {
-        $form['settings'][$entity_type_id]['#title'] = t('@label (Translation is not supported).', array('@label' => $entity_type->getLabel()));
+        $form['settings'][$entity_type_id . '-label']['#markup'] = t('@label (Translation is not supported).', array('@label' => $entity_type->getLabel()));
         continue;
       }
 
@@ -285,7 +285,7 @@ function _content_translation_preprocess_language_content_settings_table(&$varia
 function content_translation_form_language_content_settings_validate(array $form, FormStateInterface $form_state) {
   $settings = &$form_state->getValue('settings');
   foreach ($settings as $entity_type => $entity_settings) {
-    foreach ($entity_settings as $bundle => $bundle_settings) {
+    foreach ($entity_settings['table'] as $bundle => $bundle_settings) {
       if (!empty($bundle_settings['translatable'])) {
         $name = "settings][$entity_type][$bundle][translatable";
 
diff --git a/core/modules/language/language.admin.inc b/core/modules/language/language.admin.inc
index 71d3da0..9d0147d 100644
--- a/core/modules/language/language.admin.inc
+++ b/core/modules/language/language.admin.inc
@@ -92,64 +92,3 @@ function template_preprocess_language_negotiation_configure_form(&$variables) {
 
   $variables['children'] = $form;
 }
-
-/**
- * Implements hook_preprocess_HOOK() for theme_language_content_settings_table().
- */
-function template_preprocess_language_content_settings_table(&$variables) {
-  // Add a render element representing the bundle language settings table.
-  $element = $variables['element'];
-
-  $header = array(
-    array(
-      'data' => $element['#bundle_label'],
-      'class' => array('bundle'),
-    ),
-    array(
-      'data' => t('Configuration'),
-      'class' => array('operations'),
-    ),
-  );
-
-  $rows = array();
-  foreach (Element::children($element) as $bundle) {
-    $rows[$bundle] = array(
-      'data' => array(
-        array(
-          'data' => array(
-            '#prefix' => '<label>',
-            '#suffix' => '</label>',
-            '#plain_text' => $element[$bundle]['settings']['#label'],
-          ),
-          'class' => array('bundle'),
-        ),
-        array(
-          'data' => $element[$bundle]['settings'],
-          'class' => array('operations'),
-        ),
-      ),
-      'class' => array('bundle-settings'),
-    );
-  }
-
-  $variables['build'] = array(
-    '#title' => $element['#title'],
-    '#header' => $header,
-    '#rows' => $rows,
-    '#type' => 'table',
-  );
-}
-
-/**
- * Returns HTML for an administration settings table.
- *
- * @param array $variables
- *   An associative array containing:
- *   - build: A render element representing a table of bundle content language
- *     settings for a particular entity type.
- *
- * @ingroup themeable
- */
-function theme_language_content_settings_table($variables) {
-  return '<h4>' . theme_render_and_autoescape($variables['build']['#title']) . '</h4>' . theme_render_and_autoescape($variables['build']);
-}
diff --git a/core/modules/language/language.module b/core/modules/language/language.module
index 251b435..b214ad4 100644
--- a/core/modules/language/language.module
+++ b/core/modules/language/language.module
@@ -105,11 +105,6 @@ function language_theme() {
       'render element' => 'form',
       'file' => 'language.admin.inc',
     ),
-    'language_content_settings_table' => array(
-      'render element' => 'element',
-      'file' => 'language.admin.inc',
-      'function' => 'theme_language_content_settings_table',
-    ),
   );
 }
 
diff --git a/core/modules/language/src/Form/ContentLanguageSettingsForm.php b/core/modules/language/src/Form/ContentLanguageSettingsForm.php
index ebbf0fd..bb50d33 100644
--- a/core/modules/language/src/Form/ContentLanguageSettingsForm.php
+++ b/core/modules/language/src/Form/ContentLanguageSettingsForm.php
@@ -105,22 +105,41 @@ public function buildForm(array $form, FormStateInterface $form_state) {
     foreach ($labels as $entity_type_id => $label) {
       $entity_type = $entity_types[$entity_type_id];
 
-      $form['settings'][$entity_type_id] = array(
-        '#title' => $label,
+      $form['settings'][$entity_type_id] = [
         '#type' => 'container',
+      ];
+
+      $form['settings'][$entity_type_id]['label'] = [
+        '#markup' => '<h4>' . $label . '</h4>',
+      ];
+
+      $form['settings'][$entity_type_id]['table'] = [
+        '#title' => $label,
+        '#type' => 'table',
+        '#header' => [
+          [
+            'data' => $entity_type->getBundleLabel() ?: $label,
+            'class' => ['bundle'],
+          ],
+          [
+            'data' => t('Configuration'),
+            'class' => ['operations'],
+          ],
+        ],
         '#entity_type' => $entity_type_id,
-        '#theme' => 'language_content_settings_table',
         '#bundle_label' => $entity_type->getBundleLabel() ?: $label,
-        '#states' => array(
-          'visible' => array(
-            ':input[name="entity_types[' . $entity_type_id . ']"]' => array('checked' => TRUE),
-          ),
-        ),
-      );
+        '#states' => [
+          'visible' => [
+            ':input[name="entity_types[' . $entity_type_id . ']"]' => ['checked' => TRUE],
+          ],
+        ],
+      ];
 
       foreach ($bundles[$entity_type_id] as $bundle => $bundle_info) {
-        $form['settings'][$entity_type_id][$bundle]['settings'] = array(
-          '#type' => 'item',
+        $form['settings'][$entity_type_id]['table'][$bundle]['content_type'] = [
+          '#markup' => $bundle_info['label'],
+        ];
+        $form['settings'][$entity_type_id]['table'][$bundle]['settings'] = array(
           '#label' => $bundle_info['label'],
           'language' => array(
             '#type' => 'language_configuration',
@@ -149,7 +168,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
    */
   public function submitForm(array &$form, FormStateInterface $form_state) {
     foreach ($form_state->getValue('settings') as $entity_type => $entity_settings) {
-      foreach ($entity_settings as $bundle => $bundle_settings) {
+      foreach ($entity_settings['table'] as $bundle => $bundle_settings) {
         $config = ContentLanguageSettings::loadByEntityTypeBundle($entity_type, $bundle);
         $config->setDefaultLangcode($bundle_settings['settings']['language']['langcode'])
           ->setLanguageAlterable($bundle_settings['settings']['language']['language_alterable'])
