diff --git a/servers/slapd/backend.c b/servers/slapd/backend.c index 6cb351feac..cd32557290 100644 --- a/servers/slapd/backend.c +++ b/servers/slapd/backend.c @@ -1634,13 +1634,13 @@ fe_aux_operational( ap = &(*ap)->a_next; } - if ( op->o_bd != NULL && op->o_bd != frontendDB ) + if ( op->o_bd != NULL ) { /* Let the overlays have a chance at this */ be_orig = op->o_bd; - op->o_bd = select_backend( &op->o_ndn, 0, 0 ); - - if ( ( SLAP_OPATTRS( rs->sr_attr_flags ) || rs->sr_attrs ) && + op->o_bd = select_backend( &op->o_req_ndn, 0, 0 ); + if ( op->o_bd != frontendDB && + ( SLAP_OPATTRS( rs->sr_attr_flags ) || rs->sr_attrs ) && op->o_bd != NULL && op->o_bd->be_operational != NULL ) { rc = op->o_bd->be_operational( op, rs );