shouldn't this use exit(1), to restore PATH?