diff --git a/soap/customerportal.php b/soap/customerportal.php
index 12d8f47fecd62df1d911f9278bee447d8389790d..45e04fbd9d27bae46b7a3db3eb25de703c6b477f 100755
--- a/soap/customerportal.php
+++ b/soap/customerportal.php
@@ -1016,7 +1016,7 @@ function authenticate_user($username,$password,$version,$login = 'true')
 	$customerid = null;
 	for ($i = 0; $i < $num_rows; ++$i) {
 		$customerid = $adb->query_result($result, $i,'id');
-		if (Vtiger_Function::compareEncryptedPassword($password, $adb->query_result($result, $i, 'id'), $adb->query_result($result, $i, 'cryptmode'))) {
+		if (Vtiger_Functions::compareEncryptedPassword($password, $adb->query_result($result, $i, 'user_password'), $adb->query_result($result, $i, 'cryptmode'))) {
 			break;
 		} else {
 			$customerid = null;
@@ -1026,11 +1026,11 @@ function authenticate_user($username,$password,$version,$login = 'true')
 	if (!$customerid) return $err[1];//No user again.
 
 	$list[0]['id'] = $customerid;
-	$list[0]['user_name'] = $adb->query_result($result,0,'user_name');
-	$list[0]['user_password'] = $adb->query_result($result,0,'user_password');
-	$list[0]['last_login_time'] = $adb->query_result($result,0,'last_login_time');
-	$list[0]['support_start_date'] = $adb->query_result($result,0,'support_start_date');
-	$list[0]['support_end_date'] = $adb->query_result($result,0,'support_end_date');
+	$list[0]['user_name'] = $adb->query_result($result,$i,'user_name');
+	$list[0]['user_password'] = $password;
+	$list[0]['last_login_time'] = $adb->query_result($result,$i,'last_login_time');
+	$list[0]['support_start_date'] = $adb->query_result($result,$i,'support_start_date');
+	$list[0]['support_end_date'] = $adb->query_result($result,$i,'support_end_date');
 
 	//During login process we will pass the value true. Other times (change password) we will pass false
 	if($login != 'false')
diff --git a/vtlib/Vtiger/Functions.php b/vtlib/Vtiger/Functions.php
index 9c0f8479fbedcf556c14d5d2f54cc5124d3211a5..c95cc15b8272ce32c85f118afa9fc51fd071f45b 100644
--- a/vtlib/Vtiger/Functions.php
+++ b/vtlib/Vtiger/Functions.php
@@ -1023,8 +1023,8 @@ class Vtiger_Functions {
 		$reEncryptedPassword = null;
 		switch ($mode) {
 			case 'CRYPT': $reEncryptedPassword = crypt($plainText, $encryptedPassword); break;
-			case 'MD5'  : $reEncryptedPassword = md5($plainText);
-			default     : $reEncryptedPassword = $plainText;
+			case 'MD5'  : $reEncryptedPassword = md5($plainText);	break;
+			default     : $reEncryptedPassword = $plainText;		break;
 		}
 		return ($reEncryptedPassword == $encryptedPassword);
 	}