> 'len( portal_undo.listUndoableTransactions( context )' doesn't do it for > you? Surely that would be more resource intensive than necessary if there were, say, 100 transactions on the current object? I was hoping it was stored somewhere, but I can understand why it wouldn't be, which would also explain why the undo_form is implemented like it is :-) cheers, Chris