Undo layout change

We have 2 layouts that the user can switch between, a manual layout and a layered digraph layout. When the user switches the layout I would like for them to be able to switch back using the undo. All of the location changes that happen with the switch do get registered with the undo manager. However, I do not see that the actually change to the layout gets registered. Is there some way to do this?

  myDiagram.StartTransaction("Changing Layout");
  var oldlayout = myDiagram.Layout;
  myDiagram.Layout = ...;
  myDiagram.Model.RaiseChanged(new ModelChangedEventArgs("Layout", myDiagram, oldlayout, myDiagram.Layout));
  myDiagram.CommitTransaction("Changed Layout");