diff --git a/mysql-test/suite/compat/oracle/r/func_concat.result b/mysql-test/suite/compat/oracle/r/func_concat.result
index b598f97..1743790 100644
--- a/mysql-test/suite/compat/oracle/r/func_concat.result
+++ b/mysql-test/suite/compat/oracle/r/func_concat.result
@@ -322,3 +322,27 @@ id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
 Warnings:
 Note	1003	select concat_operator_oracle(-1,0 ^ 1) AS "a"
+#
+# MDEV-17359 Concatenation operator || in like expression failed in sql_mode=ORACLE
+#
+CREATE TABLE t1 (c1 VARCHAR(10),c2 VARCHAR(10) );
+INSERT INTO t1 VALUES ('a','ab');
+INSERT INTO t1 VALUES ('ab','ab');
+INSERT INTO t1 VALUES ('abc','ab');
+select c1 from t1 where c1 like '%'||'b';
+c1
+ab
+EXPLAIN EXTENDED select c1 from t1 where c1 like '%'||'b';
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	3	100.00	Using where
+Warnings:
+Note	1003	select "test"."t1"."c1" AS "c1" from "test"."t1" where "test"."t1"."c1" like <cache>(concat_operator_oracle('%','b'))
+select c1 from t1 where c1 like c2||'%'||'c';
+c1
+abc
+EXPLAIN EXTENDED select c1 from t1 where c1 like c2||'%'||'c';
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	3	100.00	Using where
+Warnings:
+Note	1003	select "test"."t1"."c1" AS "c1" from "test"."t1" where "test"."t1"."c1" like concat_operator_oracle(concat_operator_oracle("test"."t1"."c2",'%'),'c')
+DROP TABLE t1;
diff --git a/mysql-test/suite/compat/oracle/t/func_concat.test b/mysql-test/suite/compat/oracle/t/func_concat.test
index 7f9fec4..aa04368 100644
--- a/mysql-test/suite/compat/oracle/t/func_concat.test
+++ b/mysql-test/suite/compat/oracle/t/func_concat.test
@@ -146,3 +146,21 @@ SELECT -1||0^1 AS a FROM DUAL;
 
 EXPLAIN EXTENDED SELECT -1^1||1 AS a FROM DUAL;
 EXPLAIN EXTENDED SELECT -1||0^1 AS a FROM DUAL;
+
+
+--echo #
+--echo # MDEV-17359 Concatenation operator || in like expression failed in sql_mode=ORACLE
+--echo #
+
+CREATE TABLE t1 (c1 VARCHAR(10),c2 VARCHAR(10) );
+INSERT INTO t1 VALUES ('a','ab');
+INSERT INTO t1 VALUES ('ab','ab');
+INSERT INTO t1 VALUES ('abc','ab');
+
+select c1 from t1 where c1 like '%'||'b';
+EXPLAIN EXTENDED select c1 from t1 where c1 like '%'||'b';
+
+select c1 from t1 where c1 like c2||'%'||'c';
+EXPLAIN EXTENDED select c1 from t1 where c1 like c2||'%'||'c';
+
+DROP TABLE t1;
diff --git a/sql/sql_yacc_ora.yy b/sql/sql_yacc_ora.yy
index ecbf4f3..caf25a1 100644
--- a/sql/sql_yacc_ora.yy
+++ b/sql/sql_yacc_ora.yy
@@ -10292,9 +10292,9 @@ simple_expr:
 
 mysql_concatenation_expr:
           simple_expr
-        | mysql_concatenation_expr MYSQL_CONCAT_SYM simple_expr
+        | mysql_concatenation_expr ORACLE_CONCAT_SYM simple_expr
           {
-            $$= new (thd->mem_root) Item_func_concat(thd, $1, $3);
+            $$= new (thd->mem_root) Item_func_concat_operator_oracle(thd, $1, $3);
             if (unlikely($$ == NULL))
               MYSQL_YYABORT;
           }
