Index: src/obj_subc.c =================================================================== --- src/obj_subc.c (revision 17098) +++ src/obj_subc.c (revision 17099) @@ -1258,8 +1258,15 @@ { pcb_subc_t *nsc; nsc = pcb_subc_dup_at(NULL, ctx->buffer.dst, sc, 0, 0, pcb_false); - if (ctx->buffer.extraflg & PCB_FLAG_SELECTED) + + if (ctx->buffer.extraflg & PCB_FLAG_SELECTED) { + pcb_undo_freeze_serial(); + pcb_undo_freeze_add(); pcb_subc_select(NULL, nsc, PCB_CHGFLG_CLEAR, 0); + pcb_undo_unfreeze_add(); + pcb_undo_unfreeze_serial(); + } + return nsc; }