A method of performing link adaptation in a wireless communication system for simultaneous transmission of first and second codewords over multiple input - multiple output, MIMO, communication channels, the method comprising: selecting (230; 240; 302; 506) initial modulation and coding scheme, MCS, levels for the first and second codewords; estimating a size ratio of the first and second codewords, wherein estimating the size ratio for the first and second codewords comprises estimating a predicted throughput for each scheduling block based on the initial MCS selected for each codeword and estimating data sizes for the first and second codewords in response to the predicted throughput for each scheduling block; determining (255; 306; 340) a number of scheduling blocks for the first and second codewords with the initial MCS levels and based on the estimated results; determining (235; 265; 308; 342) revised MCS levels for the first and second codewords in response to the determined number of scheduling blocks; computing transport block sizes for the first and second codewords in response to the revised MCS levels for the first and second codewords; determining (310; 350; 408) if there is a need to increase the number of scheduling blocks in at least one codeword of the first and second codewords, wherein determining if there is a need to increase the number of scheduling blocks in at least one of the codewords comprises comparing a sum of the transport block sizes for the first and second codewords to a total size of data to be transmitted; adding (312; 356; 410) scheduling blocks to the at least one codeword in response to determining that there is a need to increase the number of scheduling blocks in the at least one codeword; re-computing (312; 362; 410) the transport block size for the at least one codeword; and simultaneously transmitting (322; 418; 520) the first and second codewords over different MIMO communication channels using the same time and frequency resources. selecting (230; 240; 302; 506) initial modulation and coding scheme, MCS, levels for the first and second codewords; estimating a size ratio of the first and second codewords, wherein estimating the size ratio for the first and second codewords comprises estimating a predicted throughput for each scheduling block based on the initial MCS selected for each codeword and estimating data sizes for the first and second codewords in response to the predicted throughput for each scheduling block; determining (255; 306; 340) a number of scheduling blocks for the first and second codewords with the initial MCS levels and based on the estimated results; determining (235; 265; 308; 342) revised MCS levels for the first and second codewords in response to the determined number of scheduling blocks; computing transport block sizes for the first and second codewords in response to the revised MCS levels for the first and second codewords; determining (310; 350; 408) if there is a need to increase the number of scheduling blocks in at least one codeword of the first and second codewords, wherein determining if there is a need to increase the number of scheduling blocks in at least one of the codewords comprises comparing a sum of the transport block sizes for the first and second codewords to a total size of data to be transmitted; adding (312; 356; 410) scheduling blocks to the at least one codeword in response to determining that there is a need to increase the number of scheduling blocks in the at least one codeword; re-computing (312; 362; 410) the transport block size for the at least one codeword; and simultaneously transmitting (322; 418; 520) the first and second codewords over different MIMO communication channels using the same time and frequency resources.