- if( rc != LDAP_SUCCESS ) return rc;
-
- attr_merge_one( op->ora_e, slap_schema.si_ad_structuralObjectClass,
- &tmp, NULL );
+ if( rc == LDAP_SUCCESS ) {
+ attr_merge_one( op->ora_e,
+ slap_schema.si_ad_structuralObjectClass,
+ &tmp, NULL );
+
+ } else if ( !SLAP_NO_SCHEMA_CHECK( op->o_bd ) &&
+ !get_no_schema_check( op ) )
+ {
+ return rc;
+ }