diff --git a/project.api.php b/project.api.php
index 1200878..22ff31a 100644
--- a/project.api.php
+++ b/project.api.php
@@ -76,6 +76,23 @@ function hook_project_maintainer_save($nid, $uid, $permissions) {
 }
 
 /**
+ * Notify when a maintainer is added to a project.
+ *
+ * @param $nid
+ *   The Project NID to save the maintainer information for.
+ * @param $uid
+ *   The user ID of the maintainer to save.
+ * @param array $permissions
+ *   Associative array of which project-level permissions the maintainer
+ *   should have. The keys are permission names, and the values are if the
+ *   permission should be granted or not.
+ */
+function hook_project_maintainer_new($nid, $uid, $permissions) {
+  // This is purely a notification hook, implementations will vary from use
+  // case to use case.
+}
+
+/**
  * Invoked whenever a maintainer is removed from a given project.
  *
  * @param $nid
diff --git a/project.module b/project.module
index 94e77c6..06ec1bc 100644
--- a/project.module
+++ b/project.module
@@ -897,6 +897,11 @@ function project_maintainer_save($nid, $uid, $permissions = array()) {
   if (!db_affected_rows()) {
     // Didn't update anything, add this as a new maintainer, instead.
     db_query("INSERT INTO {project_maintainer} (nid, uid, edit_project, administer_maintainers) VALUES (%d, %d, %d, %d)", $nid, $uid, !empty($permissions['edit project']), !empty($permissions['administer maintainers']));
+	
+	// Invoke hook_project_maintainer_new() to notify other modules that this
+    // maintainer is being added so they can take any actions or record any
+    // data they need to.
+    module_invoke_all('project_maintainer_new', $nid, $uid, $permissions);
   }
 
   // Invoke hook_project_maintainer_save() to let other modules know this
