When cracking a passwd file, john saves a file called "restore" in the current directory that marks where the program is in the cracking process. The "-restore" flag can be used to resume an aborted session rather than starting over from scratch. However, if john is run again on the same passwd file without the "-restore" flag being used, the restore file will be overwritten with a new one, and all work done in the previous session will be lost as the cracking process is started again from scratch. I believe this is counterintuitive, because there are very few instances in which a user would desire to start over from scratch rather than resuming the previous session. This is especially painful after running john for over a week, terminating it for a few minutes, then starting it again only to discover that the program is starting from scratch. I believe that before starting a session from scratch, john should check for the existence of a restore file, and if the restore file exists, do one of two things: 1. Notify the user that the restore file exists, and ask if the user would like to resume the session. 2. Rename the old restore file to restore.old before creating a new one, so that all the work done in the previous session is not lost. The problem is compounded by the lack of a man page, an info page, "-h" or "--help" options, or consise documentation.