An adaptive decoding technique called burst trapping is presented to correct both random and burst errors. Two decoding algorithms are used, one for random errors, and the other for bursts. The former is based on a conventional correction technique, the latter utilizes an encoding procedure for which each information digit appears twice in the data stream, first unchanged, and second combined with (addition modulo2) a check digit of a widely separated later block. Whenever the number of errors within a code block are detected to be too large to correct with the random-error-correcting algorithm, the burst-correcting algorithm corrects these errors by recovering the information from later blocks where it appears in combination with check digits. It is shown that the scheme requires very limited guard space and has limited error propagation. Furthermore, the storage requirement is even smaller than the guard space. This is the only known coding system that has this desirable feature. Results of simulation of such codes over telephone channels indicate that the performance of such codes, when compared with interleaved block codes, offers better results at significantly lower cost.