Archie, here's a bit more information. The exception 'System.IndexOutOfRangeException' happens when "Responses(TNS And 255).Values.Count" is equal to zero at the end of the Read function. It happens most often when Read is called many times in a row rapidly.