diff --git a/includes/notification.inc b/includes/notification.inc
index ca8bf28..cbd0a31 100644
--- a/includes/notification.inc
+++ b/includes/notification.inc
@@ -229,7 +229,7 @@ function theme_project_issue_notification_projects_table($element) {
 /**
  * Form constructor for per-project issue notification settings.
  */
-function project_issue_notification_project_form($form_state, $project_nid) {
+function project_issue_notification_project_form($form_state, $project) {
   global $user;
 
   // Ensure the account has a valid e-mail address; may not be the case for
@@ -239,13 +239,6 @@ function project_issue_notification_project_form($form_state, $project_nid) {
     drupal_goto('user/' . $user->uid . '/edit');
   }
 
-  if (!is_numeric($project_nid)) {
-    $project_nid = project_get_nid_from_uri($project_nid);
-  }
-  if (!$project_nid || !($project = node_load($project_nid))) {
-    return drupal_not_found();
-  }
-
   project_project_set_breadcrumb($project, TRUE);
   drupal_set_title(t('Manage e-mail notifications for @project issues', array('@project' => $project->title)));
 
diff --git a/project_issue.module b/project_issue.module
index a2f1c3b..0ed17b3 100644
--- a/project_issue.module
+++ b/project_issue.module
@@ -88,7 +88,7 @@ function project_issue_menu() {
   );
 
   // Project issue notification.
-  $items['project/issues/subscribe-mail/%'] = array(
+  $items['project/issues/subscribe-mail/%project_node'] = array(
     'title' => 'Subscribe',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('project_issue_notification_project_form', 3),
