A hybrid ARQ in which the transmitter adaptively selects an FEC code according to the channel condition is presented and analyzed. The code is selected according to the past transmissions and acknowledgements by an algorithm which is a generalization of that in [1]. The throughput is obtained as a function of the frame error rate for a general system employing the adaptive hybrid ARQ with acknowledgements that arrive instantly on an error-free return channel. The throughput is obtained as a function of the signal-to-noise ratio for an example quad rate system employing convolutional codes with non-coherent frequency shift keying over the uncorrelated Rayleigh fading channel. This allows the best choice for the parameters of the algorithm to be made. In the case that the channel bit errors are independent, the generalization offers performance improvement of less than 10% over that in [1]. But when the channel errors are bursty, as in the case of Rayleigh fading with finite bit interleaving, the generalization offers throughput improvement as high as 24%. We go on to consider incorporating code combining with the adaptive scheme to form an adaptive memory hybrid ARQ. Simulation of a system using complementary punctured convolutional codes with 4 code rates shows that 2-level code combining can extend the adaptive scheme‘s useful throughput into the low SNR region by approximately 4 dB.