diff --git a/prlp.module b/prlp.module
index 83ba96b..0f28c13 100644
--- a/prlp.module
+++ b/prlp.module
@@ -19,6 +19,15 @@ function prlp_menu() {
     'file' => 'prlp.admin.inc',
     'type' => MENU_LOCAL_TASK,
   );
+  $items['prlp/user/reset/%uid/%timestamp/confirm'] = array(
+    'title' => 'PRLP settings',
+    'description' => 'Configure - Password Reset Landing Page - what happens when users use their one-time login links for resetting password.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('prlp_admin_settings'),
+    'access arguments' => array('administer users'),
+    'file' => 'prlp.admin.inc',
+    'type' => MENU_LOCAL_TASK,
+  );
   return $items;
 }
 
@@ -50,6 +59,10 @@ function prlp_form_user_pass_reset_alter(&$form, &$form_state) {
           $element['#access'] = FALSE;
         }
       }
+      // Preserve the original Drupal action.
+      if (!isset($_SESSION['drupal_action'])) {
+        $_SESSION['drupal_action'] = $form['#action'];
+      }
       // Unset $form['#action'] so that the form doesn't get submitted to the
       // user profile edit page. Instead it gets submitted to self.
       unset($form['#action']);
@@ -80,7 +93,12 @@ define('PRLP_DESTINATION_DEFAULT', 'user/%uid/edit');
  */
 function prlp_user_pass_reset_submit($form, &$form_state) {
   global $user;
-  @list($uid, $timestamp, $hashed_pass, $action) = $form_state['build_info']['args'];
+  @list($uid, $timestamp, $action) = $form_state['build_info']['args'];
+
+  if (isset($_SESSION) && isset($_SESSION['drupal_action'])) {
+    $hashed_pass = arg(5, $_SESSION['drupal_action']);
+    unset($_SESSION['drupal_action']);
+  }
 
   // When processing the one-time login link, we have to make sure that a user
   // isn't already logged in.
