Actually, there's another potential problem here, in that _do_create_account responds to some errors by returning an HttpResponse (which, from the point of view of commit_on_success, counts as success). Currently that only happens if there's an error in user.save, meaning the commit should be empty, but I don't want to count on that always being the case.