 				@callback err, []
 
 		output = ""
+		endMarker = new RegExp("^(#{language}|Error)$", "m")
 		@pipe.stdout.on "data", (chunk) =>
 			output = output + chunk
-			# We receive a single "*" from Aspell as the end of data marker
-			if chunk.toString().match(/^\*$/m)
+			# We receive the language code from Aspell as the end of data marker
+			if chunk.toString().match(endMarker)
 				@callback(null, output.slice())
 				@state = 'ready'
 				output = ""

		# receive the end of data marker
		@state = 'busy'
		@callback = callback
		@setEndOfStreamMarker()
		@setTerseMode()
		@write(words)
		@flush()

		logger.log process: @pipe.pid, reason: reason, 'killing'
		return if @state == 'killed'
		@pipe.kill('SIGKILL')

	setTerseMode: () ->
		@sendCommand("!")
