Hi, you can derive your own UndoCommand class from QUndoCommand. There overwrite the virtual functions undo and redo so as to not run the commands during the push (i.e. the first time they get called). - Michael.