The problem has to do with the IOIO library and the possibility of loosing the Bluetooth connection to the IOIO board. There is still a remote chance that a service will call the board, to periodically collect data, and that in the time between I've checked for a valid connection and the call to the board is made, the connection has dropped. In this case my best bet is to try to catch the exception and recreate the service.