An encoding scheme controls long carry-over propagation while at the same time prevents start code emulation. An arithmetic encoder converts an input signal into an encoded bit stream that provides data compression of the original input signal. The encoding scheme identifies carry-overs from the encoded input signal that could propagate into portions of the previously encoded bit stream and inadvertently emulate a start code. Bit stuffing is used to avoid emulation of the start code while at the same time limit propagation of carry-overs. A first bit stuffing procedure is used for detecting carry-over in the encoded input signal. A second bit stuffing procedure is used during normalization of the arithmetic encoded data.