diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index fc2ec1c72f12bf2ee124e343d25320bb9e22c744..8e0e731e48ea5a7705fea5635d9a832a35528d05 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.74 2002/02/23 04:17:46 petere Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.75 2002/02/25 20:07:02 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -766,9 +766,9 @@ CheckPAMAuth(Port *port, char *user, char *password)
 		return STATUS_ERROR;
 	}
 
-	if (retval == PAM_SUCCESS)
-		retval = pam_set_item(pamh, PAM_USER, user);
-	else
+	retval = pam_set_item(pamh, PAM_USER, user);
+
+	if (retval != PAM_SUCCESS)
 	{
 		snprintf(PQerrormsg, PQERRORMSG_LENGTH,
 				 "CheckPAMAuth: pam_set_item(PAM_USER) failed: '%s'\n",
@@ -778,9 +778,10 @@ CheckPAMAuth(Port *port, char *user, char *password)
 		pam_passwd = NULL;		/* Unset pam_passwd */
 		return STATUS_ERROR;
 	}
-	if (retval == PAM_SUCCESS)
-		retval = pam_set_item(pamh, PAM_CONV, &pam_passw_conv);
-	else
+
+	retval = pam_set_item(pamh, PAM_CONV, &pam_passw_conv);
+
+	if (retval != PAM_SUCCESS)
 	{
 		snprintf(PQerrormsg, PQERRORMSG_LENGTH,
 				 "CheckPAMAuth: pam_set_item(PAM_CONV) failed: '%s'\n",
@@ -790,9 +791,10 @@ CheckPAMAuth(Port *port, char *user, char *password)
 		pam_passwd = NULL;		/* Unset pam_passwd */
 		return STATUS_ERROR;
 	}
-	if (retval == PAM_SUCCESS)
-		retval = pam_authenticate(pamh, 0);
-	else
+
+	retval = pam_authenticate(pamh, 0);
+
+	if (retval != PAM_SUCCESS)
 	{
 		snprintf(PQerrormsg, PQERRORMSG_LENGTH,
 				 "CheckPAMAuth: pam_authenticate failed: '%s'\n",
@@ -802,9 +804,10 @@ CheckPAMAuth(Port *port, char *user, char *password)
 		pam_passwd = NULL;		/* Unset pam_passwd */
 		return STATUS_ERROR;
 	}
-	if (retval == PAM_SUCCESS)
-		retval = pam_acct_mgmt(pamh, 0);
-	else
+
+	retval = pam_acct_mgmt(pamh, 0);
+
+	if (retval != PAM_SUCCESS)
 	{
 		snprintf(PQerrormsg, PQERRORMSG_LENGTH,
 				 "CheckPAMAuth: pam_acct_mgmt failed: '%s'\n",
@@ -814,24 +817,21 @@ CheckPAMAuth(Port *port, char *user, char *password)
 		pam_passwd = NULL;		/* Unset pam_passwd */
 		return STATUS_ERROR;
 	}
-	if (retval == PAM_SUCCESS)
-	{
-		retval = pam_end(pamh, retval);
-		if (retval != PAM_SUCCESS)
-		{
-			snprintf(PQerrormsg, PQERRORMSG_LENGTH,
-			 "CheckPAMAuth: Failed to release PAM authenticator: '%s'\n",
-					 pam_strerror(pamh, retval));
-			fputs(PQerrormsg, stderr);
-			pqdebug("%s", PQerrormsg);
-		}
 
-		pam_passwd = NULL;		/* Unset pam_passwd */
+	retval = pam_end(pamh, retval);
 
-		return (retval == PAM_SUCCESS ? STATUS_OK : STATUS_ERROR);
+	if (retval != PAM_SUCCESS)
+	{
+		snprintf(PQerrormsg, PQERRORMSG_LENGTH,
+		 "CheckPAMAuth: Failed to release PAM authenticator: '%s'\n",
+				 pam_strerror(pamh, retval));
+		fputs(PQerrormsg, stderr);
+		pqdebug("%s", PQerrormsg);
 	}
-	else
-		return STATUS_ERROR;
+
+	pam_passwd = NULL;		/* Unset pam_passwd */
+
+	return (retval == PAM_SUCCESS ? STATUS_OK : STATUS_ERROR);
 }
 #endif   /* USE_PAM */