I had a similar problem. My bike would sometimes do one crank, wait two seconds, do another, and so on, if the start button was held down. The cause seems to have been bad connections at both the clutch safety switch and the gear position indicator in the gauge cluster- the two circuits that supply power to the start button. In my case, both circuits had enough voltage drop (due to the bad connections) that they sometimes wouldn't supply enough power to hold the starter relay engaged, and it would open and close over and over.
Cleaning and lubricating the starter motor wouldn't hurt, either, along with checking and cleaning all of the ground connections.
Andy