diff --git a/password_policy.module b/password_policy.module
index a32e883..9f4be37 100644
--- a/password_policy.module
+++ b/password_policy.module
@@ -426,39 +426,43 @@ function password_policy_form_alter(&$form, $form_state, $form_id) {
         );
       }
 
-      // Password change form.
-      $uid = isset($form['#user']->uid) ? $form['#user']->uid : NULL;
-      //if ($uid == 1 && !variable_get('password_policy_admin', 0)) { break; }
-      $roles = isset($form['#user']->roles) ? array_keys($form['#user']->roles) : array(DRUPAL_AUTHENTICATED_RID);
-      if($form_id == 'user_register_form') { 
-        $roles = array(DRUPAL_AUTHENTICATED_RID);
-        unset($form['account']['pass']['#description']);
-      }
-      $policy = _password_policy_load_active_policy($roles);
-
-      $translate = array();
-      if (!empty($policy['policy'])) {
-        // Some policy constraints are active.
-        password_policy_add_policy_js($policy, $uid);
-        foreach ($policy['policy'] as $key => $value) {
-          $translate['constraint_'. $key] = _password_policy_constraint_error($key, $value);
+      // Ensure password field exists on the current form before showing 
+      // any additional messages.
+      if (isset($form['password'])) {
+        // Password change form.
+        $uid = isset($form['#user']->uid) ? $form['#user']->uid : NULL;
+        $roles = isset($form['#user']->roles) ? array_keys($form['#user']->roles) : array(DRUPAL_AUTHENTICATED_RID);
+
+        if($form_id == 'user_register_form') { 
+          $roles = array(DRUPAL_AUTHENTICATED_RID);
+          unset($form['account']['pass']['#description']);
         }
-      }
-
-      // Printing out the restrictions.
-      if (variable_get('password_policy_show_restrictions', 0) && isset($translate)) {
-        $restriction_html = '<div id="account-pass-restrictions"><ul><li>'. implode('</li><li>', $translate) .'</li></ul></div>';
-        if (isset($form['account']) && is_array($form['account'])) {
-          $form['account']['pass']['#prefix'] = $restriction_html;
+        $policy = _password_policy_load_active_policy($roles);
+
+        $translate = array();
+        if (!empty($policy['policy'])) {
+          // Some policy constraints are active.
+          password_policy_add_policy_js($policy, $uid);
+          foreach ($policy['policy'] as $key => $value) {
+            $translate['constraint_'. $key] = _password_policy_constraint_error($key, $value);
+          }
         }
-        else {
-          $form['pass']['#prefix'] = $restriction_html;
+
+        // Printing out the restrictions.
+        if (variable_get('password_policy_show_restrictions', 0) && isset($translate)) {
+          $restriction_html = '<div id="account-pass-restrictions"><ul><li>'. implode('</li><li>', $translate) .'</li></ul></div>';
+          if (isset($form['account']) && is_array($form['account'])) {
+            $form['account']['pass']['#prefix'] = $restriction_html;
+          }
+          else {
+            $form['pass']['#prefix'] = $restriction_html;
+          }
         }
-      }
 
-      // Set a custom form validate and submit handlers.
-      $form['#validate'][] = 'password_policy_password_validate';
-      $form['#submit'][] = 'password_policy_password_submit';
+        // Set a custom form validate and submit handlers.
+        $form['#validate'][] = 'password_policy_password_validate';
+        $form['#submit'][] = 'password_policy_password_submit';
+      }
       break;
     case 'password_policy_password_tab':
       $form['submit']['#weight'] = 10;
