I am currently dealing with the same issue and have worked a way to figure out how to obtain the code yourself. Then you can cross-reference the code with which sensor is reporting the error.
All newer bikes these days are equipped with a connection point that shops may tap into in order to identify which connector is throwing the flag. The best part about this connection point is that anyone can access it without using any special tools or code readers. You just simply connect two wires together and the code will display in the same spot as the bike's odometer. You don't need to splice or cut or do damage whatsoever to the bike. I have used this technique and was extremely happy to figure it out!
The first thing you have to do is locate this special connector. It is located on the right side of the bike in the same location as the ECU. You only need remove one frame panel in order to gain access. Item labeled "1" in
this picture is the panel you need to remove. You need a 6mm allen wrench to remove this panel. The botton right bolt is only for aethetics and will only continue to spin if you try to remove it. So, don't worry about that bolt. After you have the bolts of the panel removed, you will be able to pull the panel right off. There are rubber plugs that keep the panel attached, you just firmly pull and it will come right off.
Once you have the panel off you should see two connectors that are not connected to anything. One of them has a soft, black rubber cap on it. This is the connector you want. There are 4 wires that go into this plug. You only need to be concerned with two of them. There is a black wire with a white stripe, and there is a white wire with a red stripe. You need a paperclip or a small piece of wire. A paperclip would be easier to use. Put one end of the paperclip or wire into the hole of the connector where the black wire is. Then connect the other side of the paperclip or wire to the hole where the white wire is. So, basically, you are connecting the black wire and white wire together. Here is a completed connector for you to reference.
This is an exact picture of what your C50 connector will look like. Once you have the paperclip in place, you just turn the bike on and take a look at the odometer. It will display a -C00 (dash, C, zero, zero) for about 2 or 3 seconds, and then it will display the current -C code. Take note of this code and then cross reference it with this list of codes.
C12 - CRANKSHAFT POSITION SENSOR
C13 - INTAKE AIR POSITION SENSOR
C14 - THROTTLE POSITION SENSOR
C15 - ENGINE COOLANT TEMPERATURE SENSOR
C21 - INTAKE AIR TEMPERATURE SENSOR
C22 - ATMOSPHERIC PRESSURE SENSOR
C23 - TIPOVER SENSOR
C24 - IGNITION SIGNAL #1
C25 - IGNITION SIGNAL #2
C26 - IGNITION SIGNAL #3
C27 - IGNITION SIGNAL #4
C28 - SECONDARY THROTTLE VALVE ACTUATOR
C29 - SECONDARY THROTTLE POSITION SENSOR
C30 - SECONDARY THROTTLE CONTROL UNIT
C31 - GEAR POSITION SENSOR
C32 - INJECTOR SIGNAL #1
C33 - INJECTOR SIGNAL #2
C34 - INJECTOR SIGNAL #3
C35 - INJECTOR SIGNAL #4
C41 - FUEL PUMP CONTROL SYSTEM
C42 - IGNITION SWITCH SIGNAL
C46 - EXHAUST CONTROL VALVE ACTUATOR (C50's need not worry)
C49 - PAIR CONTROL SOLENOID VALVE
Once you find out which code is yours, you should always start small. You may just have a blown fuse or a bad sensors. Fuses and sensors are very low cost items and are usually quite easy to replace. I highly recommend doing this yourself before taking it to a dealer where they'll just dilly dally for an hour before getting the code, when you can get the code yourself in about 10 minutes. It may or may not be a bad fuse or sensor, please remember that your bike may have something wrong and the sensor is simply reporting data that exceeds the acceptable range for the bike. So, if you check the fuse and replace the sensor, and the bike still returns the code, you may still need to have a more in-depth look via a dealer/shop.
Let me know how it goes!