I had a similar percentage drop having changed job when this happened to me and also in July of the year. It's as if they forgot that the first part of the year is at the old salary when they calculated the codes and then they realised their mistakes after a short while.
Have you changed job in the last year or so? I had something similar a while ago but luckily it was only a couple of weeks between then sending the check and then wanting money back.