diff --git a/core/modules/locale/src/LocaleConfigManager.php b/core/modules/locale/src/LocaleConfigManager.php
index 1328873..cc833c5 100644
--- a/core/modules/locale/src/LocaleConfigManager.php
+++ b/core/modules/locale/src/LocaleConfigManager.php
@@ -167,13 +167,16 @@ protected function getTranslatableData(TypedDataInterface $element) {
       }
     }
     else {
+      // Something is only translatable by Locale if there is a string in the
+      // first place.
+      $value = $element->getValue();
       $definition = $element->getDataDefinition();
-      if (!empty($definition['translatable'])) {
+      if (!empty($definition['translatable']) && $value !== '' && $value !== NULL) {
         $options = array();
         if (isset($definition['translation context'])) {
           $options['context'] = $definition['translation context'];
         }
-        return new TranslatableMarkup($element->getValue(), array(), $options);
+        return new TranslatableMarkup($value, array(), $options);
       }
     }
     return $translatable;
diff --git a/core/modules/locale/src/Tests/LocaleConfigTranslationImportTest.php b/core/modules/locale/src/Tests/LocaleConfigTranslationImportTest.php
index a0a8684..4507290 100644
--- a/core/modules/locale/src/Tests/LocaleConfigTranslationImportTest.php
+++ b/core/modules/locale/src/Tests/LocaleConfigTranslationImportTest.php
@@ -31,9 +31,6 @@ class LocaleConfigTranslationImportTest extends WebTestBase {
   protected function setUp() {
     parent::setUp();
 
-    $admin_user = $this->drupalCreateUser(array('administer modules', 'administer site configuration', 'administer languages', 'access administration pages', 'administer permissions'));
-    $this->drupalLogin($admin_user);
-
     // Update module should not go out to d.o to check for updates. We override
     // the url to an invalid update source. No update data will be found.
     $this->config('update.settings')->set('fetch.url', (string) Url::fromRoute('<front>')->setAbsolute()->toString())->save();
@@ -43,6 +40,8 @@ protected function setUp() {
    * Test update changes configuration translations if enabled after language.
    */
   public function testConfigTranslationImport() {
+    $admin_user = $this->drupalCreateUser(array('administer modules', 'administer site configuration', 'administer languages', 'access administration pages', 'administer permissions'));
+    $this->drupalLogin($admin_user);
 
     // Add a language. The Afrikaans translation file of locale_test_translate
     // (test.af.po) has been prepared with a configuration translation.
@@ -81,4 +80,44 @@ public function testConfigTranslationImport() {
     $this->assertEqual($override->get('message'), 'Ons is tans besig met onderhoud op @site. Wees asseblief geduldig, ons sal binnekort weer terug wees.');
   }
 
+  /**
+   * Test update changes configuration translations if enabled after language.
+   */
+  public function testConfigTranslationModuleInstall() {
+
+    // Enable locale, block and config_translation modules.
+    $this->container->get('module_installer')->install(['block', 'config_translation']);
+    $this->resetAll();
+
+    $admin_user = $this->drupalCreateUser(array('administer modules', 'administer site configuration', 'administer languages', 'access administration pages', 'administer permissions', 'translate configuration'));
+    $this->drupalLogin($admin_user);
+
+    // Enable import of translations. By default this is disabled for automated
+    // tests.
+    $this->config('locale.settings')
+      ->set('translation.import_enabled', TRUE)
+      ->save();
+
+    // Add predefined language.
+    $this->drupalPostForm('admin/config/regional/language/add', ['predefined_langcode' => 'af'], t('Add language'));
+
+    // Add the system branding block to the page.
+    $this->drupalPlaceBlock('system_branding_block', array('region' => 'header', 'id' => 'site-branding'));
+    $this->drupalPostForm('admin/config/system/site-information', ['site_slogan' => 'Test site slogan'], 'Save configuration');
+    $this->drupalPostForm('admin/config/system/site-information/translate/af/edit', ['translation[config_names][system.site][slogan]' => 'Test site slogan in Afrikaans'], 'Save translation');
+
+    // Get the front page and ensure that the translated configuration appears.
+    $this->drupalGet('af');
+    $this->assertText('Test site slogan in Afrikaans');
+
+    // Install any module.
+    $this->drupalPostForm('admin/modules', ['modules[Core][dblog][enable]' => 'dblog'], t('Install'));
+    $this->assertText('Module Database Logging has been enabled.');
+
+    // Get the front page and ensure that the translated configuration still
+    // appears.
+    $this->drupalGet('af');
+    $this->assertText('Test site slogan in Afrikaans');
+  }
+
 }
