This study presents a novel adaptive myoelectric decoding algorithm for control of upper limb prosthesis. Myoelectric decoding algorithms are inherently subject to decay in decoding accuracy over time, which is caused by the changes occurring in the muscle signals. The proposed algorithm relies on an unsupervised and on demand update of the training set, and has been designed to adapt to both the slow and fast changes that occur in myoelectric signals. An update in the training data is used to counter the slow changes, whereas an update with label correction addresses the fast changes in the signals. We collected myoelectric data from an able bodied user for over four and a half hours, while the user performed repetitions of eight wrist movements. The major benefit of the proposed algorithm is the lower rate of decay in accuracy; it has a decay rate of 0.2 per hour as opposed to 3.3 for the non adaptive classifier. The results show that, long term decoding accuracy in EMG signals can be maintained over time, improving the performance and reliability of myoelectric prosthesis.