Sand planet bonus is applied before other bonuses (like Geologist) are calculated. So it gives 3% of X, and Geologist then gives 3% of 1.03·X, where X is your base production. These bonuses may differ due to rounding down, e.g. if X is 495 sand planet bonus will be [495·0.03] = [14,85] = 14, while Geologist bonus will be [(495+14)·0.03] = [15.27] = 15.
This is not a bug.