A communication device for handling a pre-allocated uplink, UL, grant, comprising: a storage device ; and a processing circuit , coupled to the storage device , wherein the storage device stores, and the processing circuit is configured to execute, instructions of: using a temporary identity to perform a data communication with a base station, BS, via a cell; receiving a radio resource control, RRC, message from the BS, wherein the RRC message configures the pre-allocated UL grant for the communication device to complete a handover or a secondary cell group, SCG, change without performing a random access procedure; releasing the pre-allocated UL grant in response to detecting a failure during handover or SCG change, wherein detecting the failure occurs when the maximum number of retransmissions is reached for a radio bearer, RB, in case of handover or SCG change, or detecting the failure occurs when a timer T310 expires in case of handover, or detecting the failure occurs when a timer T313 expires in case of SCG change ; and performing a physical UL shared channel, PUSCH, transmission by using the pre-allocated UL grant, when the communication device does not detect the failure. a storage device ; and a processing circuit , coupled to the storage device , wherein the storage device stores, and the processing circuit is configured to execute, instructions of: using a temporary identity to perform a data communication with a base station, BS, via a cell; receiving a radio resource control, RRC, message from the BS, wherein the RRC message configures the pre-allocated UL grant for the communication device to complete a handover or a secondary cell group, SCG, change without performing a random access procedure; releasing the pre-allocated UL grant in response to detecting a failure during handover or SCG change, wherein detecting the failure occurs when the maximum number of retransmissions is reached for a radio bearer, RB, in case of handover or SCG change, or detecting the failure occurs when a timer T310 expires in case of handover, or detecting the failure occurs when a timer T313 expires in case of SCG change ; and performing a physical UL shared channel, PUSCH, transmission by using the pre-allocated UL grant, when the communication device does not detect the failure. using a temporary identity to perform a data communication with a base station, BS, via a cell; receiving a radio resource control, RRC, message from the BS, wherein the RRC message configures the pre-allocated UL grant for the communication device to complete a handover or a secondary cell group, SCG, change without performing a random access procedure; releasing the pre-allocated UL grant in response to detecting a failure during handover or SCG change, wherein detecting the failure occurs when the maximum number of retransmissions is reached for a radio bearer, RB, in case of handover or SCG change, or detecting the failure occurs when a timer T310 expires in case of handover, or detecting the failure occurs when a timer T313 expires in case of SCG change ; and performing a physical UL shared channel, PUSCH, transmission by using the pre-allocated UL grant, when the communication device does not detect the failure. <EOS>