A class of shift-register codes is studied for correction of multiple errors. The defining matrix will satisfy an irreducible polynomial equation with coefficients 0 or 1. The errors are classified in terms of error cycles and a simple procedure is suggested to determine if error cycles are distinguishable. To facilitate the analyses, another classification of errors is introduced leaving the number of erroneous digits (weight) invariant. A number of specific codes have been investigated either for correction of error bursts or correction of all multiple errors of certain weights. Burst lengths 2, 3, 4, 5 and 6 are tried, mainly with as long codes as are theoretically possible. Codes are found for burst lengths 2, 3 and 4. The degree of the polynomial varies from 6 to 18 giving a wide range of code lengths. With single and double adjacent errors, a sufficient condition is given for the existence of a code of maximal theoretical length. Correction of all single and double errors in a code of length

is studied in some detail. As a special case of triple error correction, the Golay code of length 23 also is analyzed. Finally these and other known examples of shift-register codes are compared with the result of an exhaustive search for suitable polynomials of degrees 8, 9, 10 and 11.