When the same issue occurred on my 500R, like everyone else, given the "kickstand workaround" (i.e. moving the kickstand up, the engine starts immediately), it's only logical to think "it must be the kickstand switch", but it is NOT. Luckily, I decided to test my hunch (with a multimeter) and investigate further (factory circuit diagram) before blindly throwing new parts (and money) at the problem.
The kickstand switch is wired in "reverse order" to what one would be logically thinking. When the kickstand is down, the kickstand switch is OFF. And the main point is, the engine is suppose to start when the kickstand is down (i.e. switch is OFF). [side note for the technically inclined, as per factory wiring diagram, i can confirm that the kickstand switch circuit will "close to ground" (i.e when ON). The ECU makes the decision on when to allow ignition]. This means, for this bike and this particular problem, it is almost certain (99%), the problem is not the kickstand switch. In theory, the kickstand switch can be completely disconnected and the bike should start normally.
Honda has profited nicely from people needlessly buying new kickstand switch for this increasingly common problem.
The solution to this problem is already stated in above posts (and confirmed by a few), so i am not going to repeat it.