diff --git a/testcases/rs485echo/rs485echo.c b/testcases/rs485echo/rs485echo.c
index cd7b966357c789cab6ba30b0078f0c8cdb336025..1f055ef33a3937115b059d668665cb19f5d8300d 100644
--- a/testcases/rs485echo/rs485echo.c
+++ b/testcases/rs485echo/rs485echo.c
@@ -356,6 +356,7 @@ void help()
 	printf("  -c      Enable rtscts flowcontrol, not to be used in RS485 mode\n");
 	printf("  -d s    Select serial port specified by device name s (default: /dev/ttymxc2)\n");
 	printf("  -e      Echo mode, wait for data and echo it back\n");
+	printf("  -f      Number 'fake' bytes in the random string to send, instead of real random data N bytes at the end of the package are replaces with 0xFF.\n");
 	printf("  -n      Do not use RS485 mode\n");
 	printf("  -o x    Set receive timeout to x milliseconds (default: 1000)\n");
 	printf("  -r x    Repeat send and receive x times (default: 1), use 0 for forever.\n");
@@ -394,6 +395,7 @@ main(int   argc,    /* number of command line parameters                      */
 	int byte_count = 0;
 	int send_delay = 300;
 	int receive_sleep = 0;
+	int fake_data_len = 0;
 	char received_byte;
 	int received_state_bytes = 0; // Number of bytes received in current state
 	int data_length = 0;
@@ -406,15 +408,16 @@ main(int   argc,    /* number of command line parameters                      */
 	int opt_device_name = 0, opt_repetitions = 0, opt_bytes = 0,
 		opt_timeout = 0, opt_baudrate = 0, opt_nors485 = 0, opt_pingpong = 0,
 		opt_delaytime = 0, opt_verbose = 0, opt_rtscts = 0, opt_receive_sleep = 0,
-		opt_tx_only = 0;
+		opt_tx_only = 0, opt_fake_data_len = 0;
 	char *str_device_name, *str_repetitions, *str_bytes, *str_timeout,
-		*str_baudrate, *str_delaytime, *str_receive_sleep;
+		*str_baudrate, *str_delaytime, *str_receive_sleep, *str_fake_data_len;
 
 	option_t options[] = {
 		{"b:", &opt_bytes, &str_bytes},
 		{"c",  &opt_rtscts, NULL},
 		{"d:", &opt_device_name, &str_device_name},
 		{"e",  &opt_pingpong, NULL},
+		{"f:",  &opt_fake_data_len, &str_fake_data_len},
 		{"n",  &opt_nors485, NULL},
 		{"o:", &opt_timeout, &str_timeout},
 		{"r:", &opt_repetitions, &str_repetitions},
@@ -487,6 +490,9 @@ main(int   argc,    /* number of command line parameters                      */
 			exit(1);
 		}
 	}
+	if (opt_fake_data_len){
+		fake_data_len = atoi(str_fake_data_len);
+	}
 
 	if (opt_verbose){
 		verbose = TRUE;
@@ -495,6 +501,9 @@ main(int   argc,    /* number of command line parameters                      */
 	// Perform global test setup
 	setup();
 
+	if ( fake_data_len > message->length)
+		fake_data_len = message->length;
+
 	tst_resm(TINFO, "Starting RS485 echo test%s", echo_mode?" in echo mode.":".");
 
 	if (!echo_mode)
@@ -512,6 +521,10 @@ main(int   argc,    /* number of command line parameters                      */
 			// Generate random string for message
 			random_string(message->data, message->length);
 
+			// Replace part of the random string with dummy data
+			for(int i = 0; i < fake_data_len; i ++)
+				message->data[message->length-1-i] = 0xFF;
+
 			tst_resm(TINFO, "Cycle %d data (first 1000 bytes): %.1000s%s",
 					 cycle_count+1, message->data, message->length > 1000 ? "[...]" : "");