Index: trunk/src/libcschem/util_wirenet.c =================================================================== --- trunk/src/libcschem/util_wirenet.c (revision 10387) +++ trunk/src/libcschem/util_wirenet.c (revision 10388) @@ -1068,8 +1068,14 @@ for(n = 0; n < new_wirenets.used; n++) { if ((new_wirenets.array[n] != NULL) && (!csch_obj_is_deleted(new_wirenets.array[n]))) { - wirenet_remove_or_recalc(sheet, new_wirenets.array[n]); - csch_wirenet_recalc_wirenet_conn(sheet, new_wirenets.array[n]); + /* in case it now touches another wirenet, merge them */ + csch_wirenet_recalc_merges(sheet, new_wirenets.array[n]); + + /* recalc junctions and conns if not merged */ + if (!csch_obj_is_deleted(new_wirenets.array[n])) { + wirenet_remove_or_recalc(sheet, new_wirenets.array[n]); + csch_wirenet_recalc_wirenet_conn(sheet, new_wirenets.array[n]); + } } }