Index: src/obj_elem.c =================================================================== --- src/obj_elem.c (revision 8039) +++ src/obj_elem.c (revision 8040) @@ -475,10 +475,6 @@ } } PCB_END_LOOP; - if (change) { - pcb_draw(); - pcb_undo_inc_serial(); - } return (change); } Index: src/object_act.c =================================================================== --- src/object_act.c (revision 8039) +++ src/object_act.c (revision 8040) @@ -331,6 +331,7 @@ case F_Object: if ((pcb_search_screen(x, y, PCB_TYPE_ELEMENT, &ptrtmp, &ptrtmp, &ptrtmp)) != PCB_TYPE_NONE) { element = (pcb_element_t *) ptrtmp; + pcb_undo_save_serial(); pcb_element_change_side(element, 2 * pcb_crosshair.Y - PCB->MaxHeight); pcb_undo_inc_serial(); pcb_draw(); @@ -338,7 +339,10 @@ break; case F_Selected: case F_SelectedElements: + pcb_undo_save_serial(); pcb_selected_element_change_side(); + pcb_undo_inc_serial(); + pcb_draw(); break; default: err = 1;