diff --git a/src/SerialPort.cc b/src/SerialPort.cc
index 3dd51d7..5db3f59 100644
--- a/src/SerialPort.cc
+++ b/src/SerialPort.cc
@@ -20,7 +20,6 @@
     //Set default values
     speed    = B9600;   //9600 baud
     blocking = 1;       //set blocking
-    eolChar  = '\n';    //set line ending char
     dataBits = CS8;     //8 data bits
     stopBit  = ~CSTOPB; //1 stop bit
     parity   = 0;       //parity: none
@@ -111,9 +110,9 @@
       }
 
       //printf("Parameter %s set to %s (int: %d)\n", parameter_name, parameter_value, blocking);
-    } else if (strcmp(parameter_name, "EOLChar") == 0) {
-      eolChar = parameter_value[0];
-      //printf("Parameter %s set to %s (int: %d)\n", parameter_name, parameter_value, eolChar);
+    } else if (strncmp(parameter_name, "EOLChar", 7) == 0) {
+      eolChars.push_back(parameter_value[0]);
+      printf("Parameter %s set to %s (int: %d)\n", parameter_name, parameter_value, eolChars.back());
     } else if (strcmp(parameter_name, "dataBits") == 0) {
       if (strcmp(parameter_value, "5") == 0) {
 	dataBits = CS5;
@@ -172,11 +171,13 @@
 	ret_buffer = CHARSTRING(read_bytes, (const char*)pointer);
       }
  
-      if (input_buffer[0] == eolChar) { //EOL received, returning
-	//printf("EOL received, returning");
-	CHARSTRING ret_val = CHARSTRING(ret_buffer);
-	ret_buffer = CHARSTRING("");
-	incoming_message(ret_val);
+      for(unsigned int i = 0; i < eolChars.size(); i++){
+	if (input_buffer[0] == eolChars.at(i)) { //EOL received, returning
+	  //printf("EOL received, returning");
+	  CHARSTRING ret_val = CHARSTRING(ret_buffer);
+	  ret_buffer = CHARSTRING("");
+	  incoming_message(ret_val);
+	}
       }
     }
   }
diff --git a/src/SerialPort.cfg b/src/SerialPort.cfg
index eef5fe6..292b62e 100644
--- a/src/SerialPort.cfg
+++ b/src/SerialPort.cfg
@@ -29,8 +29,8 @@
 
 [TESTPORT_PARAMETERS]
 # In this section you can specify parameters that are passed to Test Ports.
-*.SerialPort1.deviceFileName := "/dev/ttyUSB0"
-*.SerialPort2.deviceFileName := "/dev/ttyUSB1"
+*.SerialPort1.deviceFileName := "/dev/ttyS4"      #"/dev/ttyUSB0"
+*.SerialPort2.deviceFileName := "/dev/ttyS5"      #"/dev/ttyUSB1"
 
 ## Baud rate of port
 # Valid values:
@@ -60,8 +60,13 @@
 *.SerialPort1.deviceBlocking := "yes"
 *.SerialPort2.deviceBlocking := "yes"
 
-## EOL character
+## EOL character 
+#
+# !!WARNING!! Mandatory parameter
+# Please set minimum 1 EOL char for each port
+##
 *.SerialPort1.EOLChar := "\n"
+*.SerialPort1.EOLChar := ">"
 *.SerialPort2.EOLChar := "\n"
 
 ## Number of data bits
diff --git a/src/SerialPort.hh b/src/SerialPort.hh
index 9c9a016..3faf90d 100644
--- a/src/SerialPort.hh
+++ b/src/SerialPort.hh
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <string.h>
 #include <termios.h>
+#include <vector>
 
 namespace SerialPortTypes {
 
@@ -53,7 +54,7 @@
     speed_t speed;
     int parity;
     int blocking;
-    char eolChar;
+    std::vector<char> eolChars;
     int dataBits;
     int stopBit;
     CHARSTRING ret_buffer;
