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
                } 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;