diff --git a/core/modules/language/src/ConfigurableLanguageManager.php b/core/modules/language/src/ConfigurableLanguageManager.php
index 15c40ae95041bbc75e13a6aeda09cdc78bd914d1..9e73d061da43535c780934daaa9162fde056daa7 100644
--- a/core/modules/language/src/ConfigurableLanguageManager.php
+++ b/core/modules/language/src/ConfigurableLanguageManager.php
@@ -338,8 +338,8 @@ public function updateLockedLanguageWeights() {
 
     // Get maximum weight to update the system languages to keep them on bottom.
     foreach ($this->getLanguages(LanguageInterface::STATE_CONFIGURABLE) as $language) {
-      if (!$language->isLocked() && $language->getWeight() > $max_weight) {
-        $max_weight = $language->getWeight();
+      if (!$language->isLocked()) {
+        $max_weight = max($max_weight, $language->getWeight());
       }
     }
 
diff --git a/core/modules/language/src/Tests/LanguageConfigurationTest.php b/core/modules/language/src/Tests/LanguageConfigurationTest.php
index ce8c7cf59e86bf86353cc4f0e38ed4c46209364e..61edf4ebf33158f6f0e80801bf103521fd223264 100644
--- a/core/modules/language/src/Tests/LanguageConfigurationTest.php
+++ b/core/modules/language/src/Tests/LanguageConfigurationTest.php
@@ -173,8 +173,8 @@ protected function getHighestConfigurableLanguageWeight(){
     /* @var $languages \Drupal\Core\Language\LanguageInterface[] */
     $languages = entity_load_multiple('configurable_language', NULL, TRUE);
     foreach ($languages as $language) {
-      if (!$language->isLocked() && $language->getWeight() > $max_weight) {
-        $max_weight = $language->getWeight();
+      if (!$language->isLocked()) {
+        $max_weight = max($max_weight, $language->getWeight());
       }
     }