Even if the GPS Altitude was exactly correct, and ignoring the difference between QNH and Standard (1013.25/29.92), at F/L 390 a temperature difference of 12.77 degrees from ISA (upon which your Altimeter is calibrated) would make a 2000 foot difference.
True but who cares unless youve lost all your ADCs? Main thing is to be on 1013 above the Transish so you dont bang into anyone else.