Stop codons are a normal part of protein synthesis--they're the reason that all proteins don't go on 'forever'. Given a translation machinery that simply puts one foot in front of the other endlessly, a mechanism must exist for derailing the machine when its work is done. This machinery is the three Stop (or 'nonsense') codons and the proteins that read them. They're encoded by every gene, and are already there when the mRNA is produced--the whole process of translation is the interpretation of a ticker tape by an elegant machine (the ribosome) charged with 'translating' a nucleotide language into an amino acid language. It is not known, at least by me, why there are 3 stop codons and why they are UAA, UAG and UGA (indeed, in some systems, such as some mitochondria, UGA actually specifies Trp instead of stop). But given that there are 64 possible codons and 3 mean 'stop', ON AVERAGE, with all other things being equal (which they never are...) 1 of 20 randomly selected codons says STOP. Similarly, if you're reading in an unanticipated/incorrect reading frame, you're in essence reading random codons, so will ON AVERAGE get about 20 amino acids before being stopped out. That's not very far! The existence of stop codons needs to permeate your thinking about what is and is not 'fixable'. Sure, a -1 frameshift has the ability to compensate for a +1 frameshift--IF there is no intervening stop codon! Recall the translation tutorial (or review it if you need to...). In the second movie shown, reading in the +1 frame (the result of a single nucleotide insertion) 'uncovered' a stop codon that derailed translation. In the third movie, our hero, in the form of a -1 frameshift (== nucleotide removal) fixed things 'just in time' such that reading frame was restored before the evil stop codon brought the party crashing down. Any mutations FURTHER DOWN (rightward, = the 3' direction) would have availed us naught. Some simple questions to direct you thinking in fruitful ways about the influence of stop codons for good and ill: