diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 6249c76901597deb32876ec271e2a4d57df8f502..66f11f3da9f25899e48fdd70c72612ed528b5816 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -3338,7 +3338,6 @@ static bool create_total_list(THD *thd, LEX *lex, TABLE_LIST **result)
       for (; aux; aux=next)
       {
 	TABLE_LIST *cursor;
-	aux->do_redirect=true;
 	next= aux->next;
 	for (cursor= *result; cursor; cursor=cursor->next)
 	  if (!strcmp(cursor->db,aux->db) &&
diff --git a/sql/sql_union.cc b/sql/sql_union.cc
index 4e36ccafefcf6d562e25c5a450e42fe5977a94a0..faa106d4f4236f48d7ad8d348442fdfdeed9176d 100644
--- a/sql/sql_union.cc
+++ b/sql/sql_union.cc
@@ -50,11 +50,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result)
 	 cursor;
 	 cursor=cursor->next)
     {
-      if (cursor->do_redirect)			// False if CUBE/ROLLUP
-      {
-	cursor->table= (my_reinterpret_cast(TABLE_LIST*) (cursor->table))->table;
-	cursor->do_redirect= 0;
-      }
+      cursor->table= (my_reinterpret_cast(TABLE_LIST*) (cursor->table))->table;
     }
   }
 
diff --git a/sql/table.h b/sql/table.h
index c3f469115b5925a484fae7caea2cc03199f03d59..b6935ea6a329fb1160b76bc04e16b41f2f85d28c 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -157,7 +157,6 @@ typedef struct st_table_list
   uint32        db_length, real_name_length;
   bool		straight;		/* optimize with prev table */
   bool          updating;               /* for replicate-do/ignore table */
-  bool		do_redirect;		/* To get the struct in UNION's */
   bool		force_index;		/* Prefer index over table scan */
 } TABLE_LIST;