diff --git includes/locale.inc b/public_html/includes/locale.inc
--- includes/locale.inc
+++ includes/locale.inc
@@ -1981,5 +1981,10 @@
   // Add CSS.
   drupal_add_css(drupal_get_path('module', 'locale') . '/locale.css');
 
+  // Include *all* *target* languages in the list.
+  // - *all*: thus both already translated and not yet untranslated languages.
+  // - *target*: the source language does not have to be added. The source
+  //   language is English for built-in strings and the default language for
+  //   all other strings.
   $languages = language_list();
   $default = language_default();
@@ -1984,6 +1989,5 @@
   $languages = language_list();
   $default = language_default();
-  // We don't need the default language value, that value is in $source.
   $omit = $string['group'] == 'default' ? 'en' : $default->language;
   unset($languages[$omit]);
   $output = '';
diff --git modules/locale/locale.admin.inc b/public_html/modules/locale/locale.admin.inc
--- modules/locale/locale.admin.inc
+++ modules/locale/locale.admin.inc
@@ -1130,7 +1130,11 @@
     '#value' => $source->location
   );
 
-  // Include default form controls with empty values for all languages.
-  // This ensures that the languages are always in the same order in forms.
+  // Include default form controls for *all* *target* languages.
+  // - *all*: thus also for empty, this ensures that the languages always
+  //   appear in the same order in the form.
+  // - *target*: the source language does not have to be added. The source
+  //   language is English for built-in strings and the default language for
+  //   all other strings.
   $languages = language_list();
   $default = language_default();
@@ -1135,6 +1139,5 @@
   $languages = language_list();
   $default = language_default();
-  // We don't need the default language value, that value is in $source.
   $omit = $source->textgroup == 'default' ? 'en' : $default->language;
   unset($languages[($omit)]);
   $form['translations'] = array('#tree' => TRUE);
