Downlink payload help

Hii,
I am sending MAC commands to my end device and it is working fine. When I am sending MAC command and downlink payload at the same time, the MAC command is received in the current RX window but the downlink payload is received in the RX window of next uplink. I guess the downlink payload and the MAC command/acknowledgement should be sent in the same packet. Or, am I fundamentally wrong somewhere.