Those guys are right, replace the starter contacts. However, my truck will also do the same thing from time to time when I drive through a lot of snow. Moisture must get into the starter solenoid and cause it not work properly until the moisture is dried out. I replaced the starter contacts on my truck not too long ago, so I know they are good. The snow theory is all I can come up with. It never bothers any other time.
FWIW
Matt