It could be a bad cell in the battery, check the voltage at the battery terminals when engaging the starter. If it drops, bad cell. If it stays at 6+v, check the connections at the terminals, starter connections, and solenoid, if separate, and ground. Take note of the cable condition as well...