 			suggestions = @getSuggestions(output)
 			results = []
 			for word, i in words
-				if suggestions[word]?
-					cache.set(language + ':' + word, suggestions[word])
+				key = language + ':' + word
+				cached = cache.get(key)
+				if cached?
+					results.push index: i, suggestions: cached
+				else if suggestions[word]?
+					cache.set(key, suggestions[word])
 					results.push index: i, suggestions: suggestions[word]
 			callback null, results
 

	ASPELL_TIMEOUT : 4000

WorkerPool = new ASpellWorkerPool()
	


		newWord = {}
		for word in words
			newWord[word] = true if !newWord[word] && !cache.has(language + ':' + word)
		words = Object.keys(newWord)

		if words.length
			WorkerPool.check(language, words, ASpell.ASPELL_TIMEOUT, callback)
		else
			callback null, ""

module.exports = ASpell =
	# The description of how to call aspell from another program can be found here:
