There is a fix for this. I am just living with it for now. I changed my start up procedure. I no longer wait for the fuel pump to prime and for the dash to clear. The computer goes through a check system every time you turn on the key. One of the checks is a Spedo error check. If your battery is not in new to almost new condition the error check disables the spedo function for some reason.
My 'new' startup procedure is to turn on the key and hit the starter as fast as I can. This seems to start the bike before the spedo check function and once the alternator is on line it seems to fool the computer into thinking the battery is at the voltage requirement to not disable the spedo function. This works almost every time. If it doesn't just wait about 15 seconds for the RPM's to settle into the warm up rpm and restart, has worked every time for the last 6 months.
The fix is to get a Tune Boy and disable the 'Spedo check function. Thats one way.
The second way is to get your dealer to upload a newer tune that will also disable the check spedo error function.
Third would be to get a new battery so the voltage is in the range to not trigger the error code.
I just haven't made the time for one of the first two options.