         transcriptions along with state information to update the internal `results` array.
      */
     private func didReceiveResults(wrapper: SpeechToTextResultWrapper) {
+        if state == .StartedRequest {
+            state = .ReceivingResults
+        }
+
         var localIndex = wrapper.resultIndex
         var wrapperIndex = 0
         while localIndex < results.count {

     - parameter state: The state of the Speech to Text recognition request.
     */
    private func didReceiveState(state: SpeechToTextState) {
        return
    }


    private let success: [SpeechToTextResult] -> Void
    private var results = [SpeechToTextResult]()
    private let operations = NSOperationQueue()
    private var state = State.Disconnected
    private var retries = 0
    private var maxRetries = 2

    enum State {
        case Disconnected
        case Listening
        case StartedRequest
        case ReceivingResults
    }

    /**
     Create a `SpeechToTextWebSocket` object to communicate with Speech to Text.
