With most low cost RTL-SDRs the provided 28.8 MHz local oscillator is of low quality and will often have a sizeable frequency offset and temperature drift. To fix this the oscillator can be replaced with a higher quality one.
Over on his blog Milan has showed how he used a Si535A voltage controlled oscillator on a breakout board from etherkit.com to replace the RTL-SDR’s low quality oscillator. The Si535A is a clock generator circuit which is capable of generating almost any frequency up to 200 MHz with 0 ppm offset from a 25 MHz TCXO oscillator. To connect the Si535A break board to the RTL-SDR, Milan soldered an edge mounted SMA connector to the RTL-SDR and connected it to the RTL-SDR’s clock input with a 10nF capacitor.
Milan also writes how the Si535A has options for different drive currents and writes that by lowering the drive current from 8 mA to 2 mA the spurious signals found at multiples of 28.8 MHz in the RTL-SDR are reduced. He also writes the the Si535A also allows you to detune the frequency a bit which can help to tune around any spurious signals. This could be useful for example when using rtl_power as you could create a spurious free plot.