diff --git a/sql/sql_class.h b/sql/sql_class.h
index 8284cd23b9e06f2e7e10abbf3ceab562afce08c6..3c968c6a8ae1ec31c92fe52898d1efa1452ea9b9 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -647,7 +647,7 @@ public:
   so we internally disable it temporarily by creating the Disable_binlog
   object and reset the state by destroying the object (don't forget that! or
   write code so that the object gets automatically destroyed when leaving a
-  function...).
+  block, see example in sql_table.cc).
 */
 class Disable_binlog {
 private:
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index c09892ac48bda2490b14b2c5b595605cdfc7a1bd..96eebd98ac3e382b27813e467029aca7ab69bbe4 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -1762,7 +1762,6 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
   List_iterator<Key> key_it(keys);
   List_iterator<create_field> field_it(create_list);
   List<key_part_spec> key_parts;
-  Disable_binlog *disable_binlog;
 
   KEY *key_info=table->key_info;
   for (uint i=0 ; i < table->keys ; i++,key_info++)
@@ -1925,16 +1924,17 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
   }
   else
     create_info->data_file_name=create_info->index_file_name=0;
-  /* We don't log the statement, it will be logged later */
-  disable_binlog= new Disable_binlog(thd);
-  if ((error=mysql_create_table(thd, new_db, tmp_name,
-				create_info,
-				create_list,key_list,1)))
   {
-    delete disable_binlog;
-    DBUG_RETURN(error);
+    /*
+      We don't log the statement, it will be logged later. Using a block so
+      that disable_binlog is deleted when we leave it in either way.
+    */
+    Disable_binlog disable_binlog(thd);
+    if ((error=mysql_create_table(thd, new_db, tmp_name,
+                                  create_info,
+                                  create_list,key_list,1)))
+      DBUG_RETURN(error);
   }
-  delete disable_binlog; // reset binlogging properties for next code lines
   if (table->tmp_table)
     new_table=open_table(thd,new_db,tmp_name,tmp_name,0);
   else