A method of receiving an incremental redundancy, IR transmission on first and second parallel channels in a wireless multiple-input multiple-output, MIMO, communication system: receiving a symbol block for a first data packet transmitted via the first parallel channel, wherein a first plurality of symbol blocks are generated for the first data packet and transmitted one symbol block at a time on the first parallel channel; processing all symbol blocks received for the first data packet to obtain a first decoded packet, wherein processing the symbol blocks comprises demodulating, deinterleaving and decoding the symbols blocks; determining whether the first data packet is recovered based on the first decoded packet; terminating the receiving, processing, and determining for the first data packet if the first data packet is recovered or if all of the first plurality of symbol blocks have been received; receiving a symbol block for a second data packet transmitted via the second parallel channel, wherein a second plurality of symbol blocks are generated for the second data packet and transmitted one symbol block at a time on the second parallel channel; processing all symbol blocks received for the second data packet to obtain a second decoded packet, wherein processing the symbol blocks comprises demodulating, deinterleaving and decoding the symbols blocks; determining whether the second data packet is recovered based on the second decoded packet; terminating the receiving, processing, and determining for the second data packet if the second decoded packet is recovered or if all of the second plurality of symbol blocks have been received; characterised in that if the first data packet is recovered, estimating interference due to the first data packet on the second data packet, and canceling the interference due to the first data packet from symbol blocks received for the second data packet, and wherein all symbol blocks received for the second data packet, with the interference from the first data packet canceled, are processed to obtain the second decoded packet; wherein the first data packet is recovered before the second data packet; no new packet is transmitted on the first parallel channel until the second data packet is recovered; and when the second data packet is recovered, a new data packet is transmitted on the first parallel channel. receiving a symbol block for a first data packet transmitted via the first parallel channel, wherein a first plurality of symbol blocks are generated for the first data packet and transmitted one symbol block at a time on the first parallel channel; processing all symbol blocks received for the first data packet to obtain a first decoded packet, wherein processing the symbol blocks comprises demodulating, deinterleaving and decoding the symbols blocks; determining whether the first data packet is recovered based on the first decoded packet; terminating the receiving, processing, and determining for the first data packet if the first data packet is recovered or if all of the first plurality of symbol blocks have been received; receiving a symbol block for a second data packet transmitted via the second parallel channel, wherein a second plurality of symbol blocks are generated for the second data packet and transmitted one symbol block at a time on the second parallel channel; processing all symbol blocks received for the second data packet to obtain a second decoded packet, wherein processing the symbol blocks comprises demodulating, deinterleaving and decoding the symbols blocks; determining whether the second data packet is recovered based on the second decoded packet; terminating the receiving, processing, and determining for the second data packet if the second decoded packet is recovered or if all of the second plurality of symbol blocks have been received; characterised in that if the first data packet is recovered, estimating interference due to the first data packet on the second data packet, and canceling the interference due to the first data packet from symbol blocks received for the second data packet, and wherein all symbol blocks received for the second data packet, with the interference from the first data packet canceled, are processed to obtain the second decoded packet; wherein the first data packet is recovered before the second data packet; no new packet is transmitted on the first parallel channel until the second data packet is recovered; and when the second data packet is recovered, a new data packet is transmitted on the first parallel channel.