diff --git a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/api.php b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/api.php
index 8c0dd2613de2baf42ed7b0fdae967818d3da3ad8..9e4ac7e421d681ae36c081303664b48b62412a3e 100644
--- a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/api.php
+++ b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/api.php
@@ -58,10 +58,12 @@ class CustomerPortal_API_EntryPoint {
 
 				//setting active user language as Portal user language 
 				$current_user = $operationController->getActiveUser();
-				$portal_language = $request->getLanguage();
-				$current_user->column_fields["language"] = $portal_language;
-				$current_user->language = $portal_language;
-
+				if ($current_user) {
+					// ensure user is setActive (ex: not in case of ForgotPassword)
+					$portal_language = $request->getLanguage();
+					$current_user->column_fields["language"] = $portal_language;
+					$current_user->language = $portal_language;
+				}
 				$response = $operationController->process($request);
 			} catch (Exception $e) {
 				$response = new CustomerPortal_API_Response();
diff --git a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/AbstractApi.php b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/AbstractApi.php
index 920f013eea9978a8540d5516876095a39f81b715..f1c9b3216db6124c5c044b6c5f9b71c085990b7b 100644
--- a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/AbstractApi.php
+++ b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/AbstractApi.php
@@ -62,7 +62,7 @@ abstract class CustomerPortal_API_Abstract {
 		$num_rows = $adb->num_rows($result);
 
 		$isAuthenticated = false;
-		if ($num_rows >= 0) {
+		if ($num_rows > 0) {
 			for ($i = 0; $i < $num_rows; ++$i) {
 				$customerId = $adb->query_result($result, $i, 'id');
 				if (Vtiger_Functions::compareEncryptedPassword($password, $adb->query_result($result, $i, 'user_password'), $adb->query_result($result, $i, 'cryptmode'))) {