diff --git a/EasyModbus/ModbusClient.cs b/EasyModbus/ModbusClient.cs
index b9e0285..68729de 100644
--- a/EasyModbus/ModbusClient.cs
+++ b/EasyModbus/ModbusClient.cs
@@ -922,7 +922,7 @@ public bool[] ReadDiscreteInputs(int startingAddress, int quantity)
                     bytesToRead = 5 + quantity / 8;
                 else
                     bytesToRead = 6 + quantity / 8;
- //               serialport.ReceivedBytesThreshold = bytesToRead;
+                readBuffer = new byte[256];
                 serialport.Write(data, 6, 8);
                 if (debug)
                 {
@@ -937,8 +937,6 @@ public bool[] ReadDiscreteInputs(int startingAddress, int quantity)
             		SendDataChanged(this);
                     
                 }
-                data = new byte[2100];
-                readBuffer = new byte[256];
                 DateTime dateTimeSend = DateTime.Now;
                 byte receivedUnitIdentifier = 0xFF;
 
@@ -1118,7 +1116,7 @@ public bool[] ReadCoils(int startingAddress, int quantity)
                     bytesToRead = 5 + quantity/8;
                 else
                     bytesToRead = 6 + quantity/8;
- //               serialport.ReceivedBytesThreshold = bytesToRead;
+                readBuffer = new byte[256];
                 serialport.Write(data, 6, 8);
                 if (debug)
                 {
@@ -1133,8 +1131,6 @@ public bool[] ReadCoils(int startingAddress, int quantity)
             		SendDataChanged(this);
                     
                 }
-                data = new byte[2100];
-                readBuffer = new byte[256];
                 DateTime dateTimeSend = DateTime.Now;
                 byte receivedUnitIdentifier = 0xFF;
 
@@ -1311,7 +1307,7 @@ public int[] ReadHoldingRegisters(int startingAddress, int quantity)
             {
                 dataReceived = false;
                 bytesToRead = 5 + 2 * quantity;
-//                serialport.ReceivedBytesThreshold = bytesToRead;
+                readBuffer = new byte[256];
                 serialport.Write(data, 6, 8);
                 if (debug)
                 {
@@ -1326,9 +1322,6 @@ public int[] ReadHoldingRegisters(int startingAddress, int quantity)
             		SendDataChanged(this);
                     
                 }
-                data = new byte[2100];
-                readBuffer = new byte[256];
-                
                 DateTime dateTimeSend = DateTime.Now;
                 byte receivedUnitIdentifier = 0xFF;
 
@@ -1515,9 +1508,7 @@ public int[] ReadInputRegisters(int startingAddress, int quantity)
             {
                 dataReceived = false;
                 bytesToRead = 5 + 2 * quantity;
-
-
- //               serialport.ReceivedBytesThreshold = bytesToRead;
+                readBuffer = new byte[256];
                 serialport.Write(data, 6, 8);
                 if (debug)
                 {
@@ -1532,8 +1523,6 @@ public int[] ReadInputRegisters(int startingAddress, int quantity)
             		SendDataChanged(this);
                     
                 }
-                data = new byte[2100];
-                readBuffer = new byte[256];
                 DateTime dateTimeSend = DateTime.Now;
                 byte receivedUnitIdentifier = 0xFF;
 
@@ -1720,7 +1709,7 @@ public void WriteSingleCoil(int startingAddress, bool value)
             {
                 dataReceived = false;
                 bytesToRead = 8;
- //               serialport.ReceivedBytesThreshold = bytesToRead;
+                readBuffer = new byte[256];
                 serialport.Write(data, 6, 8);
                 if (debug)
                 {
@@ -1735,8 +1724,6 @@ public void WriteSingleCoil(int startingAddress, bool value)
             		SendDataChanged(this);
                    
                 }
-                data = new byte[2100];
-                readBuffer = new byte[256];
                 DateTime dateTimeSend = DateTime.Now;
                 byte receivedUnitIdentifier = 0xFF;
 
@@ -1902,7 +1889,7 @@ public void WriteSingleRegister(int startingAddress, int value)
             {
                 dataReceived = false;
                 bytesToRead = 8;
-//                serialport.ReceivedBytesThreshold = bytesToRead;
+                readBuffer = new byte[256];
                 serialport.Write(data, 6, 8);
                 if (debug)
                 {
@@ -1917,8 +1904,6 @@ public void WriteSingleRegister(int startingAddress, int value)
             		SendDataChanged(this);
                     
                 }
-                data = new byte[2100];
-                readBuffer = new byte[256];
                 DateTime dateTimeSend = DateTime.Now;
                 byte receivedUnitIdentifier = 0xFF;
 
@@ -2101,7 +2086,7 @@ public void WriteMultipleCoils(int startingAddress, bool[] values)
             {
                 dataReceived = false;
                 bytesToRead = 8;
- //               serialport.ReceivedBytesThreshold = bytesToRead;
+                readBuffer = new byte[256];
                 serialport.Write(data, 6, data.Length - 6);
                 if (debug)
                 {
@@ -2116,8 +2101,6 @@ public void WriteMultipleCoils(int startingAddress, bool[] values)
             		SendDataChanged(this);
                     
                 }
-                data = new byte[2100];
-                readBuffer = new byte[256];
                 DateTime dateTimeSend = DateTime.Now;
                 byte receivedUnitIdentifier = 0xFF;
 
@@ -2288,7 +2271,7 @@ public void WriteMultipleRegisters(int startingAddress, int[] values)
             {
                 dataReceived = false;
                 bytesToRead = 8;
-//                serialport.ReceivedBytesThreshold = bytesToRead;
+                readBuffer = new byte[256];
                 serialport.Write(data, 6, data.Length - 6);
 
                 if (debug)
@@ -2304,8 +2287,6 @@ public void WriteMultipleRegisters(int startingAddress, int[] values)
             		SendDataChanged(this);
                    
                 }
-                data = new byte[2100];
-                readBuffer = new byte[256];
                 DateTime dateTimeSend = DateTime.Now;
                 byte receivedUnitIdentifier = 0xFF;
 
@@ -2495,8 +2476,8 @@ public int[] ReadWriteMultipleRegisters(int startingAddressRead, int quantityRea
             if (serialport != null)
             {
                 dataReceived = false;
+                readBuffer = new byte[256];
                 bytesToRead = 5 + 2*quantityRead;
- //               serialport.ReceivedBytesThreshold = bytesToRead;
                 serialport.Write(data, 6, data.Length - 6);
                 if (debug)
                 {