diff --git a/src/KeithleyDDCProtocol.cpp b/src/KeithleyDDCProtocol.cpp
index 443bdbb0b6a151e71976db62ce192418eae02a0b..e41bb60855714931771746d6c4afb17a5ecd1113 100644
--- a/src/KeithleyDDCProtocol.cpp
+++ b/src/KeithleyDDCProtocol.cpp
@@ -301,8 +301,8 @@ std::string argout("no data");
 
   //- get data value
   cmd_to_send << "X" << std::ends;
-  _communication_link->write(cmd_to_send.str());
-  argout = _communication_link->read();
+  argout = _communication_link->write_read(cmd_to_send.str());
+  //XE argout = _communication_link->read();
 
   //- check if device range is overloaded : First char of the prefix !
   if(argout[0] == 'O') //- O means overload !
@@ -410,9 +410,9 @@ std::string argout("no data");
 	cmd_to_send.str("");
 	//- get status word
 	cmd_to_send << "U1X" << std::endl;
-	_communication_link->write(cmd_to_send.str());
+	argout = _communication_link->write_read(cmd_to_send.str());
   //- DDC devices are to slow to give a response for a write_read cmd
-	argout = _communication_link->read();
+	//XE argout = _communication_link->read();
 
 	return argout;
 }
@@ -428,8 +428,8 @@ std::string argout("no data");
 	cmd_to_send.str("");
 	//- get status word
 	cmd_to_send << "U0X" << std::endl;
-	_communication_link->write(cmd_to_send.str());
-	argout = _communication_link->read();
+	argout = _communication_link->write_read(cmd_to_send.str());
+	//XE argout = _communication_link->read();
 
 	return argout;
 }