diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index ad9e2b446ed..7334827a648 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -2448,6 +2448,7 @@ static bool acl_load(THD *thd, const Grant_tables& tables)
 
   init_check_host();
 
+  thd->bootstrap= !initialized; // keep FLUSH PRIVILEGES connection special
   initialized=1;
   DBUG_RETURN(FALSE);
 }
diff --git a/sql/sql_db.cc b/sql/sql_db.cc
index fbb62bd384a..fb6fdc7634f 100644
--- a/sql/sql_db.cc
+++ b/sql/sql_db.cc
@@ -882,7 +882,7 @@ mysql_rm_db_internal(THD *thd, const LEX_CSTRING *db, bool if_exists, bool silen
       lock_db_routines(thd, dbnorm))
     goto exit;
 
-  if (!thd->bootstrap && !rm_mysql_schema)
+  if (!rm_mysql_schema)
   {
     for (table= tables; table; table= table->next_local)
     {
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index b9dd9c16d23..e123fa33cfe 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -2104,8 +2104,6 @@ bool mysql_rm_table(THD *thd,TABLE_LIST *tables, bool if_exists,
       }
     }
     /* We remove statistics for table last, after we have the DDL lock */
-    if (!thd->bootstrap)
-    {
     for (table= tables; table; table= table->next_local)
     {
       LEX_CSTRING db_name= table->db;
@@ -2115,7 +2113,6 @@ bool mysql_rm_table(THD *thd,TABLE_LIST *tables, bool if_exists,
         (void) delete_statistics_for_table(thd, &db_name, &table_name);
     }
   }
-  }
 
   /* mark for close and remove all cached entries */
   thd->push_internal_handler(&err_handler);
