diff --git a/contrib/slapd-modules/nssov/pam.c b/contrib/slapd-modules/nssov/pam.c
index 577ae9adcc6d379e005b4310e51770fd1283708c..7e1c4d7aaf495fad3401cd9cf1ed494fe39109c9 100644
--- a/contrib/slapd-modules/nssov/pam.c
+++ b/contrib/slapd-modules/nssov/pam.c
@@ -444,7 +444,8 @@ int pam_authz(nssov_info *ni,TFILE *fp,Operation *op)
 		AttributeAssertion ava = ATTRIBUTEASSERTION_INIT;
 		SlapReply rs = {REP_RESULT};
 		op->o_callback = &cb;
-		cb.sc_response = slap_null_cb;
+		cb.sc_response = pam_compare_cb;
+		cb.sc_private = NULL;
 		op->o_tag = LDAP_REQ_COMPARE;
 		op->o_req_dn = ni->ni_pam_group_dn;
 		op->o_req_ndn = ni->ni_pam_group_dn;
@@ -452,7 +453,7 @@ int pam_authz(nssov_info *ni,TFILE *fp,Operation *op)
 		ava.aa_value = dn;
 		op->orc_ava = &ava;
 		rc = op->o_bd->be_compare( op, &rs );
-		if ( rs.sr_err != LDAP_COMPARE_TRUE ) {
+		if ( cb.sc_private == NULL ) {
 			authzmsg = grpmsg;
 			rc = NSLCD_PAM_PERM_DENIED;
 			goto finish;