How to Make Errors Self-Correcting