diff --git a/core/lib/Drupal/Component/Gettext/PoItem.php b/core/lib/Drupal/Component/Gettext/PoItem.php
index c845c4b..f673752 100644
--- a/core/lib/Drupal/Component/Gettext/PoItem.php
+++ b/core/lib/Drupal/Component/Gettext/PoItem.php
@@ -193,7 +193,7 @@ public function setFromArray(array $values = array()) {
         strpos($this->_source, LOCALE_PLURAL_DELIMITER) !== FALSE) {
       $this->setSource(explode(LOCALE_PLURAL_DELIMITER, $this->_source));
       $this->setTranslation(explode(LOCALE_PLURAL_DELIMITER, $this->_translation));
-      $this->setPlural(count($this->_translation) > 1);
+      $this->setPlural(count($this->_source) > 1);
     }
   }
 
diff --git a/core/modules/locale/src/Tests/LocaleExportTest.php b/core/modules/locale/src/Tests/LocaleExportTest.php
index 061c161..50d23d7 100644
--- a/core/modules/locale/src/Tests/LocaleExportTest.php
+++ b/core/modules/locale/src/Tests/LocaleExportTest.php
@@ -64,7 +64,7 @@ public function testExportTranslation() {
     // Ensure we have a translation file.
     $this->assertRaw('# French translation of Drupal', 'Exported French translation file.');
     // Ensure our imported translations exist in the file.
-    $this->assertRaw('msgstr "lundi"', 'French translations present in exported file.');
+    $this->assertRaw($this->getTranslatedString(), 'French translations present in exported file.');
 
     // Import some more French translations which will be marked as customized.
     $name = tempnam('temporary://', "po2_") . '.po';
@@ -141,8 +141,10 @@ public function getPoFile() {
 "Content-Transfer-Encoding: 8bit\\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\\n"
 
-msgid "Monday"
-msgstr "lundi"
+msgid "1 comment"
+msgid_plural "@count comments"
+msgstr[0] "1 commentaire"
+msgstr[1] "@count commentaires"
 EOF;
   }
 
@@ -166,6 +168,21 @@ public function getCustomPoFile() {
   }
 
   /**
+   * Returns a .po file fragment with a translated string.
+   *
+   * @return string
+   *   A .po file fragment with a translated string.
+   */
+  function getTranslatedString() {
+    return <<< EOF
+msgid "1 comment"
+msgid_plural "@count comments"
+msgstr[0] "1 commentaire"
+msgstr[1] "@count commentaires"
+EOF;
+  }
+
+  /**
    * Returns a .po file fragment with an untranslated string.
    *
    * @return string
