A bit late to the party but... This might help...
You can fix this yourself.... Using FoCCCus you can recalibrate your speedomenter, It is lines 51 (tire circumference) and line 70 (tire dimension) I have an S model which came originally with the 195/65R15's and I upgraded to the 215/50R17 and suddenly started getting speeding tickets. Once i got my GPS i figured out that my new tires threw my speedo off by about 4 MPH or so.. it would read 60 on the speedo and 64 on GPS. I went in with FoCCCus and reset the tire sizes to 1975mm since it didn't have the P215/50R17 listed (I hit autotrader.com and looked for a focus for sale that had the same wheels i have now and grabbed the VIN then pulled the as built data from Etis to find out what the calibration settings are for those wheels, then set mine to match.) After clicking "Write to BCM" and clearing the codes with Forscan, i did another GPS speed calibration test and now its dead on accurate between speedo and GPS. I saved the original configuration since i do use the original 15's in the winter so i can easily reset back to the factory specs for winter, then saved a copy of the 17 inch wheel settings for ease of loading when i swap to summer times after the snow is gone for the year.
In your case, if FoCCCus shows the same size tire as your car has on it, but still getting a 2 MPH difference, you may want to try dropping to the next lower tire size in FoCCCus, and see if it corrects your speedo (BACKUP YOUR ORIGINAL CONFIGURATION FIRST BEFORE CHANGING ANYTHING SO YOU CAN GO BACK IF IT DON'T WORK!) You have have to play with different sizes until you find the one that works assuming its a programming error in the firmware of one of your car's modules.
One Caveat.. On mine, changing the tire settings in the BCM did set a PCM P160 Calibration Error trouble code that wouldn't clear, however it never set a check engine light and i noticed no ill effects driving it, But at least the speedometer would actually agree with the GPS.