   _onSerialPortList: (error, ports) ->
     if error
       @emit 'error', error
-    return unless ports
+    return unless ports and @_started is true
     for port in ports
       continue unless rfconnPath = port.comName
       @_onSerialPort rfconnPath

          @removeListener 'error', onError
          @stop()
          resolve channel
      onError = (error) =>
        @removeListener 'channel', onChannel
        @removeListener 'error', onError

    BleChannel.fromPeripheral(peripheral)
      .then (bleChannel) =>
        return if bleChannel is null
        if @_started is true
          @emit 'channel', bleChannel
        else
          bleChannel.close()
      .catch (error) =>
        @emit 'error', error

