diff --git a/core/modules/language/language.module b/core/modules/language/language.module index cd4ebb7..ccccae0 100644 --- a/core/modules/language/language.module +++ b/core/modules/language/language.module @@ -244,9 +244,6 @@ function language_save($language) { // Kill the static cache in language_list(). drupal_static_reset('language_list'); - // Update URL Prefixes for all languages. - language_negotiation_url_prefixes_update(); - return $language; } @@ -463,6 +460,23 @@ function language_language_insert($language) { $domains = language_negotiation_url_domains(); $domains[$language->langcode] = ''; language_negotiation_url_domains_save($domains); + + // Update URL Prefixes for all languages. + language_negotiation_url_prefixes_update(); +} + +/** + * Implements hook_language_update(). + */ +function language_language_update($language) { + if (!empty($language->locked)) { + return; + } + + language_negotiation_include(); + + // Update URL Prefixes for all languages. + language_negotiation_url_prefixes_update(); } /**