Index: path.module =================================================================== --- path.module (revision 137) +++ path.module (working copy) @@ -102,11 +102,9 @@ } else if ($path && $alias) { // Check for existing aliases. - if ($alias == drupal_get_path_alias($path, $language)) { + if (drupal_lookup_path('source', $alias, $language)) { // There is already such an alias, neutral or in this language. - // Update the alias based on alias; setting the language if not yet done. - db_query("UPDATE {url_alias} SET src = '%s', dst = '%s', language = '%s' WHERE dst = '%s'", $path, $alias, $language, $alias); - } + db_query("UPDATE {url_alias} SET src = '%s' WHERE dst = '%s' AND language = '%s'", $path, $alias, $language); } else { // A new alias. Add it to the database. db_query("INSERT INTO {url_alias} (src, dst, language) VALUES ('%s', '%s', '%s')", $path, $alias, $language);