diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index dc765f9777..e098251824 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -165,13 +165,6 @@ init_syncrepl(syncinfo_t *si) sync_descs[3] = NULL; } - if ( SLAP_SYNC_SUBENTRY( si->si_be )) { - build_new_dn( &si->si_contextdn, &si->si_be->be_nsuffix[0], - (struct berval *)&slap_ldapsync_cn_bv, NULL ); - } else { - si->si_contextdn = si->si_be->be_nsuffix[0]; - } - if ( si->si_allattrs && si->si_allopattrs ) attrs = NULL; else @@ -1335,6 +1328,12 @@ do_syncrepl( } else { si->si_wbe = be; } + if ( SLAP_SYNC_SUBENTRY( si->si_wbe )) { + build_new_dn( &si->si_contextdn, &si->si_wbe->be_nsuffix[0], + (struct berval *)&slap_ldapsync_cn_bv, NULL ); + } else { + si->si_contextdn = si->si_wbe->be_nsuffix[0]; + } } if ( !si->si_schemachecking ) op->o_no_schema_check = 1;