You might want to take a look at the throttle position sensor. If it is a little dodgy it can cause late shifting