diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result
index b7343065c73d704e85930c1b377544960d467a66..d2879e1872686cfe7d0813e74c3890fc793a1dd2 100644
--- a/mysql-test/r/join_outer.result
+++ b/mysql-test/r/join_outer.result
@@ -784,32 +784,32 @@ t2.flag_value IS  NULL;
 flag_name	flag_value
 flag2	NULL
 DROP TABLE t1,t2;
-CREATE TABLE invoice (
+CREATE TABLE t1 (
 id int(11) unsigned NOT NULL auto_increment,
 text_id int(10) unsigned default NULL,
 PRIMARY KEY  (id)
 );
-INSERT INTO invoice VALUES("1", "0");
-INSERT INTO invoice VALUES("2", "10");
-CREATE TABLE text_table (
+INSERT INTO t1 VALUES("1", "0");
+INSERT INTO t1 VALUES("2", "10");
+CREATE TABLE t2 (
 text_id char(3) NOT NULL default '',
 language_id char(3) NOT NULL default '',
 text_data text,
 PRIMARY KEY  (text_id,language_id)
 );
-INSERT INTO text_table VALUES("0", "EN", "0-EN");
-INSERT INTO text_table VALUES("0", "SV", "0-SV");
-INSERT INTO text_table VALUES("10", "EN", "10-EN");
-INSERT INTO text_table VALUES("10", "SV", "10-SV");
-SELECT invoice.id, invoice.text_id, text_table.text_data
-FROM invoice LEFT JOIN text_table
-ON invoice.text_id = text_table.text_id
-AND text_table.language_id = 'SV'
-  WHERE (invoice.id LIKE '%' OR text_table.text_data LIKE '%');
+INSERT INTO t2 VALUES("0", "EN", "0-EN");
+INSERT INTO t2 VALUES("0", "SV", "0-SV");
+INSERT INTO t2 VALUES("10", "EN", "10-EN");
+INSERT INTO t2 VALUES("10", "SV", "10-SV");
+SELECT t1.id, t1.text_id, t2.text_data
+FROM t1 LEFT JOIN t2
+ON t1.text_id = t2.text_id
+AND t2.language_id = 'SV'
+  WHERE (t1.id LIKE '%' OR t2.text_data LIKE '%');
 id	text_id	text_data
 1	0	0-SV
 2	10	10-SV
-DROP TABLE invoice, text_table;
+DROP TABLE t1, t2;
 CREATE TABLE t0 (a0 int PRIMARY KEY);
 CREATE TABLE t1 (a1 int PRIMARY KEY);
 CREATE TABLE t2 (a2 int);
diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test
index ce2ce577b464c1e0b0cf699ecc7da83dee8849e2..66de5e5a4c9e657c88d28e581b7bd1443b63dc00 100644
--- a/mysql-test/t/join_outer.test
+++ b/mysql-test/t/join_outer.test
@@ -554,34 +554,34 @@ SELECT t1.flag_name,t2.flag_value
 
 DROP TABLE t1,t2;
 
-CREATE TABLE invoice (
+CREATE TABLE t1 (
   id int(11) unsigned NOT NULL auto_increment,
   text_id int(10) unsigned default NULL,
   PRIMARY KEY  (id)
 );
 
-INSERT INTO invoice VALUES("1", "0");
-INSERT INTO invoice VALUES("2", "10");
+INSERT INTO t1 VALUES("1", "0");
+INSERT INTO t1 VALUES("2", "10");
 
-CREATE TABLE text_table (
+CREATE TABLE t2 (
   text_id char(3) NOT NULL default '',
   language_id char(3) NOT NULL default '',
   text_data text,
   PRIMARY KEY  (text_id,language_id)
 );
 
-INSERT INTO text_table VALUES("0", "EN", "0-EN");
-INSERT INTO text_table VALUES("0", "SV", "0-SV");
-INSERT INTO text_table VALUES("10", "EN", "10-EN");
-INSERT INTO text_table VALUES("10", "SV", "10-SV");
+INSERT INTO t2 VALUES("0", "EN", "0-EN");
+INSERT INTO t2 VALUES("0", "SV", "0-SV");
+INSERT INTO t2 VALUES("10", "EN", "10-EN");
+INSERT INTO t2 VALUES("10", "SV", "10-SV");
 
-SELECT invoice.id, invoice.text_id, text_table.text_data
-  FROM invoice LEFT JOIN text_table
-               ON invoice.text_id = text_table.text_id
-                  AND text_table.language_id = 'SV'
-  WHERE (invoice.id LIKE '%' OR text_table.text_data LIKE '%');
+SELECT t1.id, t1.text_id, t2.text_data
+  FROM t1 LEFT JOIN t2
+               ON t1.text_id = t2.text_id
+                  AND t2.language_id = 'SV'
+  WHERE (t1.id LIKE '%' OR t2.text_data LIKE '%');
 
-DROP TABLE invoice, text_table;
+DROP TABLE t1, t2;
 
 # Test for bug #5896  
 
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index a6fe9e44a3da047309ddd6b30697143874dab448..a156322e13c79f609d5ec07a0ed086c8a0620610 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -264,6 +264,7 @@ class Item_func_trig_cond: public Item_bool_func
   longlong val_int() { return *trig_var ? args[0]->val_int() : 1; }
   enum Functype functype() const { return TRIG_COND_FUNC; };
   const char *func_name() const { return "trigcond"; };
+  bool const_item() const { return FALSE; }
 };
 
 class Item_func_not_all :public Item_func_not