diff --git a/include/mysqld_error.h b/include/mysqld_error.h
index 7646d3e74947091032f5317359037781ae2b4bc1..3c20202603fad263b90144759cc222d4a9ba7c82 100644
--- a/include/mysqld_error.h
+++ b/include/mysqld_error.h
@@ -256,8 +256,8 @@
 #define ER_SLAVE_IGNORED_TABLE 1237
 #define ER_WRONG_FK_DEF 1238
 #define ER_KEY_REF_DO_NOT_MATCH_TABLE_REF 1239
-#define ER_CARDINALITY_COL 1240
-#define ER_SUBSELECT_NO_1_ROW 1241
+#define ER_OPERAND_COLUMNS 1240
+#define ER_SUBQUERY_NO_1_ROW 1241
 #define ER_UNKNOWN_STMT_HANDLER 1242
 #define ER_CORRUPT_HELP_DB 1243
 #define ER_CYCLIC_REFERENCE 1244
diff --git a/include/sql_state.h b/include/sql_state.h
index 26568ac3e0df5b3c1decb1bd36fc1e1b53967b0c..c0b7cf97ea5ce680658618b63ba6ff0b7a651848 100644
--- a/include/sql_state.h
+++ b/include/sql_state.h
@@ -145,8 +145,8 @@ ER_WRONG_TYPE_FOR_VAR,		"42000", "",
 ER_CANT_USE_OPTION_HERE,	"42000", "",
 ER_NOT_SUPPORTED_YET,		"42000", "",
 ER_WRONG_FK_DEF,		"42000", "",
-ER_CARDINALITY_COL,		"21000", "",
-ER_SUBSELECT_NO_1_ROW,		"21000", "",
+ER_OPERAND_COLUMNS,		"21000", "",
+ER_SUBQUERY_NO_1_ROW,		"21000", "",
 ER_ILLEGAL_REFERENCE,		"42S22", "",
 ER_DERIVED_MUST_HAVE_ALIAS,	"42000", "",
 ER_SELECT_REDUCED,		"01000", "",
diff --git a/mysql-test/r/row.result b/mysql-test/r/row.result
index 94186f254c409d59886b1be81a595bd66450c30c..ab60f714d82d4d582941a10f62912bd4daa561e9 100644
--- a/mysql-test/r/row.result
+++ b/mysql-test/r/row.result
@@ -36,7 +36,7 @@ select (1,2,(3,4)) IN ((3,2,(3,4)), (1,2,(3,4)));
 (1,2,(3,4)) IN ((3,2,(3,4)), (1,2,(3,4)))
 1
 select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,4));
-ERROR 21000: Cardinality error (more/less than 2 columns)
+ERROR 21000: Operand should contain 2 column(s)
 select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)));
 row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)))
 NULL
@@ -86,7 +86,7 @@ SELECT ROW('test',2,3.33)=ROW('test',2,3.33);
 ROW('test',2,3.33)=ROW('test',2,3.33)
 1
 SELECT ROW('test',2,3.33)=ROW('test',2,3.33,4);
-ERROR 21000: Cardinality error (more/less than 3 columns)
+ERROR 21000: Operand should contain 3 column(s)
 SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,33));
 ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,33))
 1
@@ -97,7 +97,7 @@ SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,NULL));
 ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,NULL))
 NULL
 SELECT ROW('test',2,ROW(3,33))=ROW('test',2,4);
-ERROR 21000: Cardinality error (more/less than 2 columns)
+ERROR 21000: Operand should contain 2 column(s)
 create table t1 ( a int, b int, c int);
 insert into t1 values (1,2,3), (2,3,1), (3,2,1), (1,2,NULL);
 select * from t1 where ROW(1,2,3)=ROW(a,b,c);
@@ -135,14 +135,14 @@ ROW(1,2,3) IN(row(a,b,c), row(1,2,3))
 1
 drop table t1;
 select ROW(1,1);
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 create table t1 (i int);
 select 1 from t1 where ROW(1,1);
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 select count(*) from t1 order by ROW(1,1);
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 select count(*) from t1 having (1,1) order by i;
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 drop table t1;
 create table t1 (a int, b int);
 insert into t1 values (1, 4);
diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result
index 82110e343647ae810539e2a31cdb9d90ee2c9f48..d5186dc9c44495cf8857af18bd48a6bcbde6e2cc 100644
--- a/mysql-test/r/subselect.result
+++ b/mysql-test/r/subselect.result
@@ -59,7 +59,7 @@ SELECT * FROM (SELECT 1 as id) b WHERE id IN (SELECT * FROM (SELECT 1 as id) c O
 id
 1
 SELECT * FROM (SELECT 1) a  WHERE 1 IN (SELECT 1,1);
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 SELECT 1 IN (SELECT 1);
 1 IN (SELECT 1)
 1
@@ -124,7 +124,7 @@ SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
 (SELECT 1.5,'c','a') = ROW(1.5,2,'a')
 0
 SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 SELECT 1 as a,(SELECT a+a) b,(SELECT b);
 a	b	(SELECT b)
 1	2	2
@@ -257,9 +257,9 @@ a
 7
 delete from t2 where a=100;
 select * from t3 where a in (select a,b from t2);
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 select * from t3 where a in (select * from t2);
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 insert into t4 values (12,7),(1,7),(10,9),(9,6),(7,6),(3,9),(1,10);
 select b,max(a) as ma from t4 group by b having b < (select max(t2.a) from t2 where t2.b=t4.b);
 b	ma
@@ -346,10 +346,10 @@ id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 3	SUBQUERY	t8	const	PRIMARY	PRIMARY	35		1	
 SELECT pseudo FROM t8 WHERE pseudo=(SELECT pseudo,email FROM
 t8 WHERE pseudo='joce');
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 SELECT pseudo FROM t8 WHERE pseudo=(SELECT * FROM t8 WHERE
 pseudo='joce');
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 SELECT pseudo FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo='joce');
 pseudo
 joce
@@ -1377,7 +1377,7 @@ userid	pmtotal	pmnew	calc_total	calc_new
 drop table t1, t2;
 create table t1 (s1 char(5));
 select (select 'a','b' from t1 union select 'a','b' from t1) from t1;
-ERROR 21000: Cardinality error (more/less than 1 columns)
+ERROR 21000: Operand should contain 1 column(s)
 insert into t1 values ('tttt');
 select * from t1 where ('a','b')=(select 'a','b' from t1 union select 'a','b' from t1);
 s1
diff --git a/sql/item.cc b/sql/item.cc
index 9d34f299a07d5ebbc76bbeba3b9bccb384f01d86..55df169965e22efb132c1fec3fdd98f98bd99f01 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -108,7 +108,7 @@ bool Item::check_cols(uint c)
 {
   if (c != 1)
   {
-    my_error(ER_CARDINALITY_COL, MYF(0), c);
+    my_error(ER_OPERAND_COLUMNS, MYF(0), c);
     return 1;
   }
   return 0;
@@ -1784,7 +1784,7 @@ void Item_cache_row::illegal_method_call(const char *method)
   DBUG_ENTER("Item_cache_row::illegal_method_call");
   DBUG_PRINT("error", ("!!! %s method was called for row item", method));
   DBUG_ASSERT(0);
-  my_error(ER_CARDINALITY_COL, MYF(0), 1);
+  my_error(ER_OPERAND_COLUMNS, MYF(0), 1);
   DBUG_VOID_RETURN;
 }
 
@@ -1792,7 +1792,7 @@ bool Item_cache_row::check_cols(uint c)
 {
   if (c != item_count)
   {
-    my_error(ER_CARDINALITY_COL, MYF(0), c);
+    my_error(ER_OPERAND_COLUMNS, MYF(0), c);
     return 1;
   }
   return 0;
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index e7dc3933c1013b43fab204bc11fa733050bee524..3472f29850eb184b31bc46712078a8e0fa02f84e 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -229,7 +229,7 @@ int Arg_comparator::set_compare_func(Item_bool_func2 *item, Item_result type)
     uint n= (*a)->cols();
     if (n != (*b)->cols())
     {
-      my_error(ER_CARDINALITY_COL, MYF(0), n);
+      my_error(ER_OPERAND_COLUMNS, MYF(0), n);
       comparators= 0;
       return 1;
     }
@@ -239,7 +239,7 @@ int Arg_comparator::set_compare_func(Item_bool_func2 *item, Item_result type)
     {
       if ((*a)->el(i)->cols() != (*b)->el(i)->cols())
       {
-	my_error(ER_CARDINALITY_COL, MYF(0), (*a)->el(i)->cols());
+	my_error(ER_OPERAND_COLUMNS, MYF(0), (*a)->el(i)->cols());
 	return 1;
       }
       comparators[i].set_cmp_func(owner, (*a)->addr(i), (*b)->addr(i));
@@ -423,7 +423,7 @@ bool Item_in_optimizer::fix_fields(THD *thd, struct st_table_list *tables,
   Item_in_subselect * sub= (Item_in_subselect *)args[1];
   if (args[0]->cols() != sub->engine->cols())
   {
-    my_error(ER_CARDINALITY_COL, MYF(0), args[0]->cols());
+    my_error(ER_OPERAND_COLUMNS, MYF(0), args[0]->cols());
     return 1;
   }
   if (args[1]->maybe_null)
@@ -1351,7 +1351,7 @@ void cmp_item_row::store_value_by_template(cmp_item *t, Item *item)
   cmp_item_row *tmpl= (cmp_item_row*) t;
   if (tmpl->n != item->cols())
   {
-    my_error(ER_CARDINALITY_COL, MYF(0), tmpl->n);
+    my_error(ER_OPERAND_COLUMNS, MYF(0), tmpl->n);
     return;
   }
   n= tmpl->n;
@@ -1378,7 +1378,7 @@ int cmp_item_row::cmp(Item *arg)
   arg->null_value= 0;
   if (arg->cols() != n)
   {
-    my_error(ER_CARDINALITY_COL, MYF(0), n);
+    my_error(ER_OPERAND_COLUMNS, MYF(0), n);
     return 1;
   }
   bool was_null= 0;
diff --git a/sql/item_row.cc b/sql/item_row.cc
index 43e38763aa63acfa60ca1a93cf8181d6c9c23867..fcc6e5192ec730630b38587e07764566ca792368 100644
--- a/sql/item_row.cc
+++ b/sql/item_row.cc
@@ -49,7 +49,7 @@ void Item_row::illegal_method_call(const char *method)
   DBUG_ENTER("Item_row::illegal_method_call");
   DBUG_PRINT("error", ("!!! %s method was called for row item", method));
   DBUG_ASSERT(0);
-  my_error(ER_CARDINALITY_COL, MYF(0), 1);
+  my_error(ER_OPERAND_COLUMNS, MYF(0), 1);
   DBUG_VOID_RETURN;
 }
 
@@ -112,7 +112,7 @@ bool Item_row::check_cols(uint c)
 {
   if (c != arg_count)
   {
-    my_error(ER_CARDINALITY_COL, MYF(0), c);
+    my_error(ER_OPERAND_COLUMNS, MYF(0), c);
     return 1;
   }
   return 0;
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc
index 7c4fe8621a7682acb267640072dd912688884b01..3daa7be6f43321cc67159fdd11b04067761cb8be 100644
--- a/sql/item_subselect.cc
+++ b/sql/item_subselect.cc
@@ -105,7 +105,7 @@ bool Item_subselect::fix_fields(THD *thd_param, TABLE_LIST *tables, Item **ref)
     // Is it one field subselect?
     if (engine->cols() > max_columns)
     {  
-      my_error(ER_CARDINALITY_COL, MYF(0), 1);
+      my_error(ER_OPERAND_COLUMNS, MYF(0), 1);
       return 1;
     }
     fix_length_and_dec();
@@ -262,7 +262,7 @@ bool Item_singlerow_subselect::check_cols(uint c)
 {
   if (c != engine->cols())
   {
-    my_error(ER_CARDINALITY_COL, MYF(0), c);
+    my_error(ER_OPERAND_COLUMNS, MYF(0), c);
     return 1;
   }
   return 0;
@@ -527,7 +527,7 @@ Item_in_subselect::single_value_transformer(JOIN *join,
   Item *item;
   if (select_lex->item_list.elements > 1)
   {
-    my_error(ER_CARDINALITY_COL, MYF(0), 1);
+    my_error(ER_OPERAND_COLUMNS, MYF(0), 1);
     DBUG_RETURN(RES_ERROR);
   }
 
diff --git a/sql/share/czech/errmsg.txt b/sql/share/czech/errmsg.txt
index 5a3976822e58023290d3334a9393ba2152ad4e01..29d8b2552513f126ee07b08eccb7b04d2d14373e 100644
--- a/sql/share/czech/errmsg.txt
+++ b/sql/share/czech/errmsg.txt
@@ -252,7 +252,7 @@ character-set=latin2
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt
index 6f43e3eb7f10944c9376d9dead2e70794368b1c1..d603555727bfa27aa9532a47e6d846437d53db4f 100644
--- a/sql/share/danish/errmsg.txt
+++ b/sql/share/danish/errmsg.txt
@@ -246,7 +246,7 @@ character-set=latin1
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/dutch/errmsg.txt b/sql/share/dutch/errmsg.txt
index d372e1c9ff672f2d26932abda64493bfcbe86179..53a1946474558b7f78184f0ecb25d81f5780b6c2 100644
--- a/sql/share/dutch/errmsg.txt
+++ b/sql/share/dutch/errmsg.txt
@@ -254,7 +254,7 @@ character-set=latin1
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt
index 9506e672a05cc1fc5b1df28a460c1441a1eb26b2..c54f56b2529e602328dd0d5743f4c569c0ba1794 100644
--- a/sql/share/english/errmsg.txt
+++ b/sql/share/english/errmsg.txt
@@ -243,7 +243,7 @@ character-set=latin1
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/estonian/errmsg.txt b/sql/share/estonian/errmsg.txt
index 8fbf084320e7b1b37e554d4cd3941898be922a03..2997a4d45012ad2be21d9c7ce73bf4df068603ef 100644
--- a/sql/share/estonian/errmsg.txt
+++ b/sql/share/estonian/errmsg.txt
@@ -248,7 +248,7 @@ character-set=latin7
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/french/errmsg.txt b/sql/share/french/errmsg.txt
index 3eeecce6c33e05f0b0d1b92f541a717f1d3c7b07..cd346270ea869478cbc4f9e1ef43f7567781fea2 100644
--- a/sql/share/french/errmsg.txt
+++ b/sql/share/french/errmsg.txt
@@ -243,7 +243,7 @@ character-set=latin1
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/german/errmsg.txt b/sql/share/german/errmsg.txt
index ebedaad6e94cb2aa86b09597f36bcc4f031c9651..4fd38fdb6da53a10dfdcd308662b0c90132f4650 100644
--- a/sql/share/german/errmsg.txt
+++ b/sql/share/german/errmsg.txt
@@ -252,7 +252,7 @@ character-set=latin1
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Falsche Foreign-Key Definition für '%-64s': %s",
 "Schlüssel- und Tabellenreferenz passen nicht zueinander.",
-"Kardinalitäts-Fehler (mehr/oder weniger als %d Spalten).",
+"Operand should contain %d column(s)",
 "Unterabfrage lieferte mehr als einen Datensatz zurück.",
 "Unbekannter prepared statement handler (%ld) für %s angegeben.",
 "Die Hilfedatenbank ist beschädigt oder existiert nicht.",
diff --git a/sql/share/greek/errmsg.txt b/sql/share/greek/errmsg.txt
index dfcd8710a155daa1a28d8f91eb0fc4cf721222ba..31259e9e02f9336adfeded3ea9a98a0f911c41d0 100644
--- a/sql/share/greek/errmsg.txt
+++ b/sql/share/greek/errmsg.txt
@@ -243,7 +243,7 @@ character-set=greek
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/hungarian/errmsg.txt b/sql/share/hungarian/errmsg.txt
index 71877f252f9579a57bb328086d4637f85816739a..52dfb70223181d9f3294b60ca5d2728319204924 100644
--- a/sql/share/hungarian/errmsg.txt
+++ b/sql/share/hungarian/errmsg.txt
@@ -245,7 +245,7 @@ character-set=latin2
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/italian/errmsg.txt b/sql/share/italian/errmsg.txt
index 501630aa3ef847ebae1e04c08ac2f4f3cb3a5086..7efca542348ee5bcd458c142bcee95cc2a912c43 100644
--- a/sql/share/italian/errmsg.txt
+++ b/sql/share/italian/errmsg.txt
@@ -243,7 +243,7 @@ character-set=latin1
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/japanese/errmsg.txt b/sql/share/japanese/errmsg.txt
index 4a066e2e13f90febb665d0e79413d196f0f6956f..f7d6d7be29bb986480ab52519b0e4aebcdae17c7 100644
--- a/sql/share/japanese/errmsg.txt
+++ b/sql/share/japanese/errmsg.txt
@@ -245,7 +245,7 @@ character-set=ujis
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/korean/errmsg.txt b/sql/share/korean/errmsg.txt
index 333da3967dcceb991d13be56e92f0936fca6f0c5..654081c6895038efee274223164e8fc79505f76f 100644
--- a/sql/share/korean/errmsg.txt
+++ b/sql/share/korean/errmsg.txt
@@ -243,7 +243,7 @@ character-set=euckr
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/norwegian-ny/errmsg.txt b/sql/share/norwegian-ny/errmsg.txt
index 7899ac2862b7ebfa5e4de4b403e75c99e73bd27b..76f725a9419b7e5732af35ffcb27d4d2504f7719 100644
--- a/sql/share/norwegian-ny/errmsg.txt
+++ b/sql/share/norwegian-ny/errmsg.txt
@@ -245,7 +245,7 @@ character-set=latin1
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/norwegian/errmsg.txt b/sql/share/norwegian/errmsg.txt
index 171d5eb7b3ab95bd691e92b43999a726828f763c..fe15f7c9b8b6b12dbdabca5eadfa27cb834cd574 100644
--- a/sql/share/norwegian/errmsg.txt
+++ b/sql/share/norwegian/errmsg.txt
@@ -245,7 +245,7 @@ character-set=latin1
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/polish/errmsg.txt b/sql/share/polish/errmsg.txt
index 3e1a101b9d11d85e09f4caa8a05b59d36bed178a..12e1d539e766d1d515e78ab50821f0cbf0d64b38 100644
--- a/sql/share/polish/errmsg.txt
+++ b/sql/share/polish/errmsg.txt
@@ -247,7 +247,7 @@ character-set=latin2
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/portuguese/errmsg.txt b/sql/share/portuguese/errmsg.txt
index af4e210a5b754499b4a0405aaf6a17bb5c951d2f..49ca7ee5c562b5248a6b5fa56597fafcf558e147 100644
--- a/sql/share/portuguese/errmsg.txt
+++ b/sql/share/portuguese/errmsg.txt
@@ -244,7 +244,7 @@ character-set=latin1
 "Slave SQL thread ignorado a consulta devido às normas de replicação-*-tabela"
 "Definição errada da chave estrangeira para '%-.64s': %s",
 "Referência da chave e referência da tabela não coincidem",
-"Error de cardinalidade (mais/menos que %d colunas)",
+"Operand should contain %d column(s)",
 "Subconsulta retorna mais que 1 registro",
 "Desconhecido manipulador de declaração preparado (%ld) determinado para %s",
 "Banco de dado de ajuda corrupto ou não existente",
diff --git a/sql/share/romanian/errmsg.txt b/sql/share/romanian/errmsg.txt
index 0dffb09e9f74c360027731885dd09aa3476d272d..30e87fe3d0a090d8900840c4ed60dc4b0eb4be79 100644
--- a/sql/share/romanian/errmsg.txt
+++ b/sql/share/romanian/errmsg.txt
@@ -247,7 +247,7 @@ character-set=latin2
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/russian/errmsg.txt b/sql/share/russian/errmsg.txt
index 389cb581717705c482756231a2569af558183cb7..b444348612f914ed37c58ad3b8de220660a2a9c7 100644
--- a/sql/share/russian/errmsg.txt
+++ b/sql/share/russian/errmsg.txt
@@ -245,7 +245,7 @@ character-set=koi8r
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"ïÛÉÂËÁ ÍÏÝØÎÏÓÔÉ ÍÎÏÖÅÓÔ×Á (ÂÏÌØÛÅ/ÍÅÎØÛÅ %d ËÏÌÏÎÏË)",
+"ïÐÅÒÁÎÄ ÄÏÌÖÅÎ ÓÏÄÅÒÖÁÔØ %d ËÏÌÏÎÏË",
 "ðÏÄÚÁÐÒÏÓ ×ÏÚ×ÒÁÝÁÅÔ ÂÏÌÅÅ ÏÄÎÏÊ ÚÁÐÉÓÉ",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/serbian/errmsg.txt b/sql/share/serbian/errmsg.txt
index 0f461a9e718592773516d2f391e09ad14a5e9067..32b94548bc59382b1ad85df444bf7c32a8d6c918 100644
--- a/sql/share/serbian/errmsg.txt
+++ b/sql/share/serbian/errmsg.txt
@@ -238,7 +238,7 @@ character-set=cp1250
 "User '%-.64s' has exceeded the '%s' resource (current value: %ld)",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/slovak/errmsg.txt b/sql/share/slovak/errmsg.txt
index dc07eb0a54e7ab370cdbfe0f4134a77c74639f5f..45e40caedee36f25d5ad9e1c73620949a5f7cce0 100644
--- a/sql/share/slovak/errmsg.txt
+++ b/sql/share/slovak/errmsg.txt
@@ -251,7 +251,7 @@ character-set=latin2
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/spanish/errmsg.txt b/sql/share/spanish/errmsg.txt
index a1b368872825204f79d258b79090dade4e1d8f7b..bce0345694172c37a09f662027a35086a46b196b 100644
--- a/sql/share/spanish/errmsg.txt
+++ b/sql/share/spanish/errmsg.txt
@@ -245,7 +245,7 @@ character-set=latin1
 "Slave SQL thread ignorado el query debido a las reglas de replicación-*-tabla"
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (more/less than %d columns)",
+"Operand should contain %d column(s)",
 "Subquery returns more than 1 row",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/share/swedish/errmsg.txt b/sql/share/swedish/errmsg.txt
index e0d0bea47d287090e7547339094a3daeb0fd5c6b..827419d76e748bc172afbba9aa4741772b04b062 100644
--- a/sql/share/swedish/errmsg.txt
+++ b/sql/share/swedish/errmsg.txt
@@ -243,7 +243,7 @@ character-set=latin1
 "Slav SQL tråden ignorerade frågan pga en replicate-*-table regel",
 "Felaktig FOREIGN KEY-definition för '%-.64s': %s",
 "Nyckelreferensen och tabellreferensen stämmer inte överens",
-"Kardinalitetsfel (fler/färre än %d kolumner)",
+"Operand should contain %d column(s)",
 "Subquery returnerade mer än 1 rad",
 "Okänd PREPARED STATEMENT id (%ld) var given till %s",
 "Hjälpdatabasen finns inte eller är skadad",
diff --git a/sql/share/ukrainian/errmsg.txt b/sql/share/ukrainian/errmsg.txt
index a21330497413d566d76ca8330a110212570bc753..fcf0c695c298c71a7e51e81dcc86f8f50eb0e565 100644
--- a/sql/share/ukrainian/errmsg.txt
+++ b/sql/share/ukrainian/errmsg.txt
@@ -248,7 +248,7 @@ character-set=koi8u
 "Slave SQL thread ignored the query because of replicate-*-table rules",
 "Wrong foreign key definition for '%-.64s': %s",
 "Key reference and table reference doesn't match",
-"Cardinality error (¦ÌØÛÅ/ÍÅÎØÛÅ Î¦Ö %d ÓÔÏ×Âæ×)",
+"ïÐÅÒÁÎÄ ÍÁ¤ ÓËÌÁÄÁÔÉÓÑ Ú %d ÓÔÏ×Âæ×",
 "ð¦ÄÚÁÐÉÔ ÐÏ×ÅÒÔÁ¤ ¦ÌØÛ ÎiÖ 1 ÚÁÐÉÓ",
 "Unknown prepared statement handler (%ld) given to %s",
 "Help database is corrupt or does not exist",
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index de2da5a379b46cde0c0b8764ee5c6a04fb26ab00..968de304d6782d7b86a8fef316ec3b35a4673709 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -1023,7 +1023,7 @@ bool select_singlerow_subselect::send_data(List<Item> &items)
   Item_singlerow_subselect *it= (Item_singlerow_subselect *)item;
   if (it->assigned())
   {
-      my_message(ER_SUBSELECT_NO_1_ROW, ER(ER_SUBSELECT_NO_1_ROW), MYF(0));
+      my_message(ER_SUBQUERY_NO_1_ROW, ER(ER_SUBQUERY_NO_1_ROW), MYF(0));
     DBUG_RETURN(1);
   }
   if (unit->offset_limit_cnt)