diff --git a/includes/path.inc b/includes/path.inc
index 6bd48d3..dfa9c4e 100644
--- a/includes/path.inc
+++ b/includes/path.inc
@@ -439,6 +439,9 @@ function path_save(&$path) {
     $path['original'] = path_load($path['pid']);
   }
 
+  // Allow modules to alter the alias before saving.
+  drupal_alter('path', $path);
+
   if (empty($path['pid'])) {
     drupal_write_record('url_alias', $path);
     module_invoke_all('path_insert', $path);
diff --git a/modules/path/path.api.php b/modules/path/path.api.php
index 0a17e2c..e7de21a 100644
--- a/modules/path/path.api.php
+++ b/modules/path/path.api.php
@@ -69,5 +69,21 @@ function hook_path_delete($path) {
 }
 
 /**
+ * Perform alterations to an URL alias before it is saved.
+ *
+ * @param $path
+ *   An associative array containing the following keys:
+ *   - source: The internal system path.
+ *   - alias: The URL alias.
+ *   - pid: Unique path alias identifier.
+ *   - language: The language of the alias.
+ *
+ * @see path_save()
+ */
+function hook_path_alter(&$path) {
+  $path['redirect'] = FALSE;
+}
+
+/**
  * @} End of "addtogroup hooks".
  */
