diff --git a/core/modules/language/src/Tests/EntityTypeWithoutLanguageFormTest.php b/core/modules/language/src/Tests/EntityTypeWithoutLanguageFormTest.php
new file mode 100644
index 0000000..a59af68
--- /dev/null
+++ b/core/modules/language/src/Tests/EntityTypeWithoutLanguageFormTest.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\language\Tests\EntityTypeWithoutLanguageFormTest.
+ */
+
+namespace Drupal\language\Tests;
+
+use Drupal\language_test\Entity\NoLanguageEntityTest;
+use Drupal\simpletest\WebTestBase;
+
+/**
+ * Tests entity type without language support.
+ *
+ * This is to ensure that an entity type without language support can not
+ * enable the language select from the content language settings page.
+ *
+ * @group language
+ */
+class EntityTypeWithoutLanguageFormTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array(
+    'language',
+    'language_test',
+  );
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    // Create and login administrative user.
+    $admin_user = $this->drupalCreateUser(array(
+      'administer languages',
+    ));
+    $this->drupalLogin($admin_user);
+  }
+
+  /**
+   * Tests configuration options with an entity without language definition.
+   */
+  public function testEmptyLangcode() {
+    // Create an entity without language definition.
+    $entity = NoLanguageEntityTest::create();
+    $entity->save();
+
+    // Assert that we can not enable language select from
+    // content language settings page.
+    $this->drupalGet('admin/config/regional/content-language');
+    $this->assertNoField('entity_types[no_language_entity_test]');
+  }
+
+}
diff --git a/core/modules/language/src/Tests/LanguageEntityFormTest.php b/core/modules/language/src/Tests/LanguageEntityFormTest.php
new file mode 100644
index 0000000..bbd9351
--- /dev/null
+++ b/core/modules/language/src/Tests/LanguageEntityFormTest.php
@@ -0,0 +1,70 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\language\Tests\LanguageEntityFormTest.
+ */
+
+namespace Drupal\language\Tests;
+
+use Drupal\simpletest\WebTestBase;
+
+/**
+ * Tests entity form with language module.
+ *
+ * This is to ensure that an entity form by default does not show the language
+ * select, but it does so when it's enabled from the content language settings
+ * page.
+ * In this test we test it with the particular cases of the contact messages.
+ *
+ * @group language
+ */
+class LanguageEntityFormTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array(
+    'contact',
+    'language',
+    'contact_test',
+  );
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    // Create and login administrative user.
+    $admin_user = $this->drupalCreateUser(array(
+      'access site-wide contact form',
+      'administer languages',
+    ));
+    $this->drupalLogin($admin_user);
+  }
+
+  /**
+   * Tests configuration options with the particular case of contact messages.
+   */
+  public function testContactLanguage() {
+    // Ensure that contact form by default does not show the language select.
+    $this->drupalGet('contact');
+    $this->assertResponse(200, 'The page exists');
+    $this->assertNoField('edit-langcode-0-value');
+
+    // Enable language select from content language settings page.
+    $settings_path = 'admin/config/regional/content-language';
+    $edit['entity_types[contact_message]'] = TRUE;
+    $edit['settings[contact_message][feedback][settings][language][language_alterable]'] = TRUE;
+    $this->drupalPostForm($settings_path, $edit, t('Save configuration'));
+
+    // Ensure that contact form now shows the language select.
+    $this->drupalGet('contact');
+    $this->assertResponse(200, 'The page exists');
+    $this->assertField('edit-langcode-0-value');
+  }
+
+}
diff --git a/core/modules/language/tests/language_test/src/Entity/NoLanguageEntityTest.php b/core/modules/language/tests/language_test/src/Entity/NoLanguageEntityTest.php
new file mode 100755
index 0000000..5018784
--- /dev/null
+++ b/core/modules/language/tests/language_test/src/Entity/NoLanguageEntityTest.php
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\language_test\Entity\NoLanguageEntityTest.
+ */
+
+namespace Drupal\language_test\Entity;
+
+use Drupal\Core\Entity\ContentEntityBase;
+use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Field\BaseFieldDefinition;
+
+/**
+ * Defines the test entity class.
+ *
+ * @ContentEntityType(
+ *   id = "no_language_entity_test",
+ *   label = @Translation("Test entity without language support"),
+ *   base_table = "no_language_entity_test",
+ *   persistent_cache = FALSE,
+ *   entity_keys = {
+ *     "id" = "id",
+ *     "uuid" = "uuid",
+ *   },
+ * )
+ */
+class NoLanguageEntityTest extends ContentEntityBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
+    $fields['id'] = BaseFieldDefinition::create('integer')
+      ->setLabel(t('ID'))
+      ->setDescription(t('The ID of the test entity.'))
+      ->setReadOnly(TRUE)
+      ->setSetting('unsigned', TRUE);
+
+    $fields['uuid'] = BaseFieldDefinition::create('uuid')
+      ->setLabel(t('UUID'))
+      ->setDescription(t('The UUID of the test entity.'))
+      ->setReadOnly(TRUE);
+
+    return $fields;
+  }
+
+}
