Assuming the donor speedo was from a 500E (this is important!), you may have put the needle back in the wrong spot. However that would result in the same amount of error at all speeds, i.e. 20kph off at low speed and the same 20kph off at higher speeds. If it's a calibration issue the amount off will be proportional (same percentage) at all speeds.