if ( sa->sa_final.bv_val ) free( sa->sa_final.bv_val );
                if ( sa->sa_any ) ber_bvarray_free( sa->sa_any );
                if ( sa->sa_initial.bv_val ) free( sa->sa_initial.bv_val );
+#ifndef SLAP_NVALUES
                ch_free( sa );
+#endif
                *keysp = NULL;
                return LDAP_SUCCESS;
        }
        if ( sa->sa_final.bv_val ) free( sa->sa_final.bv_val );
        if ( sa->sa_any ) ber_bvarray_free( sa->sa_any );
        if ( sa->sa_initial.bv_val ) free( sa->sa_initial.bv_val );
+#ifndef SLAP_NVALUES
        ch_free( sa );
+#endif
 
        return LDAP_SUCCESS;
 }