to support massive devices for the Internet of Things (IoT) services. The NB-IoT system uses a coverage class technique to increase the performance of the NB-IoT system while serving massive devices in very wide coverage area. A moving device can change the coverage class according to the distance or the channel state between the base station and the moving device. However, in the conventional NB-IoT standard, the performance of the NB-IoT system degrades because the coverage class is changed based on the fixed criterion. This paper proposes the coverage class adaptation schemes to increase the performance of the NB-IoT system by dynamically change the coverage class according to the location or the channel state of the device. Simulation results show that the proposed coverage class adaptation scheme decreases both the signaling overhead and the PDCCH decoding error rate in comparison with the conventional coverage class adaptation scheme in the 3GPP standard.