What if no operation has been undone yet? It seems to me like most undo's work by undoing the last action regardless of whether undo has ever been called before.