diff --git a/servers/slapd/modify.c b/servers/slapd/modify.c index a0d7d225fd..e943b22db1 100644 --- a/servers/slapd/modify.c +++ b/servers/slapd/modify.c @@ -541,13 +541,14 @@ int slap_mods_check( AttributeDescription *ad = NULL; /* convert to attribute description */ - rc = slap_bv2ad( &ml->sml_type, &ml->sml_desc, text ); - - if( rc != LDAP_SUCCESS ) { - snprintf( textbuf, textlen, "%s: %s", - ml->sml_type.bv_val, *text ); - *text = textbuf; - return rc; + if ( ml->sml_desc == NULL ) { + rc = slap_bv2ad( &ml->sml_type, &ml->sml_desc, text ); + if( rc != LDAP_SUCCESS ) { + snprintf( textbuf, textlen, "%s: %s", + ml->sml_type.bv_val, *text ); + *text = textbuf; + return rc; + } } ad = ml->sml_desc;