diff --git a/user_registrationpassword.module b/user_registrationpassword.module
index 2ae70d9..6eeccd1 100644
--- a/user_registrationpassword.module
+++ b/user_registrationpassword.module
@@ -499,8 +499,15 @@ function user_registrationpassword_set_message($type = 'welcome', $redirect = ''
 * Implements hook_form_FORM_ID_alter().
 */
 function user_registrationpassword_form_user_pass_alter(&$form, &$form_state, $form_id) {
-  $form['#validate'][0] = '_user_registrationpassword_user_pass_validate';
-  $form['#submit'][0] = '_user_registrationpassword_user_pass_submit';
+  foreach (array('validate', 'submit') as $delta) {
+    $handler = '#' . $delta;
+    $original = 'user_pass_' . $delta;
+    $replacement = '_user_registrationpassword_' . $original;
+    $key = array_search($original, $form[$handler]);
+    if ($key !== FALSE) {
+      $form[$handler][$key] = $replacement;
+    }
+  }
 }
 
 /**
