diff --git a/ldap_servers/ldap_servers.tokens.inc b/ldap_servers/ldap_servers.tokens.inc
index a8ea90f..fddc4ac 100644
--- a/ldap_servers/ldap_servers.tokens.inc
+++ b/ldap_servers/ldap_servers.tokens.inc
@@ -400,9 +391,12 @@ function ldap_servers_token_tokenize_user_account($user_account, $token_keys = '
 
         switch ($attr_name) {
 
-          case 'user':
+          case 'user-only':
             $value = ($pwd) ? $pwd : NULL;
             $pwd = ldap_user_ldap_provision_pwd('get');
             break;
diff --git a/ldap_user/ldap_user.module b/ldap_user/ldap_user.module
index 50eb48d..8f10942 100644
--- a/ldap_user/ldap_user.module
+++ b/ldap_user/ldap_user.module
@@ -381,6 +381,18 @@ function ldap_user_ldap_user_attrs_list_alter(&$available_user_attrs, &$params)
       'prov_module' => 'ldap_user',
       'configurable_to_ldap' => TRUE,
     );
+    
+    // use user password, do not modify if unavailable
+    $available_user_attrs['[password.user-only]'] = array(
+      'name' => 'Pwd: User Only',
+      'source' => '',
+      'direction' => LDAP_USER_PROV_DIRECTION_TO_LDAP_ENTRY,
+      'enabled' => TRUE,
+      'prov_events' => array(LDAP_USER_EVENT_CREATE_LDAP_ENTRY, LDAP_USER_EVENT_SYNCH_TO_LDAP_ENTRY),
+      'config_module' => 'ldap_user',
+      'prov_module' => 'ldap_user',
+      'configurable_to_ldap' => TRUE,
+    );
 
   }
 
@@ -479,23 +491,23 @@ function ldap_user_form_password_policy_password_tab_alter(&$form, &$form_state)
  * for use in provisioing to ldap
  */
 function ldap_user_grab_password_validate($form, &$form_state) {
-
-  // This is not a login form but profile form and user is insertingpassword to update email
+  // This is not a login form but profile form and user is inserting password to update email
   if (!empty($form_state['values']['current_pass_required_values'])) {
     if (!empty($form_state['values']['current_pass']) && empty($form_state['values']['pass'])) {
       ldap_user_ldap_provision_pwd('set', $form_state['values']['current_pass']);
     }
+    // Or this is a profile form where the user is updating their own password
+    elseif (!empty($form_state['values']['pass'])) {
+      ldap_user_ldap_provision_pwd('set', $form_state['values']['pass']);
+    }
   }
   // otherwise a logon form
   elseif (!empty($form_state['values']['pass'])) {