             for wordAlternatives in result.wordAlternatives! {
                 validateSTTWordAlternativeResults(wordAlternatives)
             }
-        } else if settings.wordAlternativesThreshold != nil && !final {
-            XCTAssertEqual(result.wordAlternatives!.count, 0)
         } else {
-            XCTAssertNil(result.wordAlternatives)
+            let isEmpty = (result.wordAlternatives?.count == 0)
+            let isNil = (result.keywordResults == nil)
+            XCTAssert(isEmpty || isNil)
         }
     }
 

                validateSTTWordTimestamp(timestamp)
            }
        } else {
            XCTAssertNil(transcription.timestamps)
        }

        if settings.wordConfidence == true && final {

            for word in transcription.wordConfidence! {
                validateSTTWordConfidence(word)
            }
        } else {
            let isEmpty = (transcription.wordConfidence?.count == 0)
            let isNil = (transcription.wordConfidence == nil)
            XCTAssert(isEmpty || isNil)
        }
    }

