diff --git a/Docs/manual.texi b/Docs/manual.texi
index 1c0364ab7372f99c48cdfab74323159dabda1088..d25ade714692da0718bd00973a8564593f564da3 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -35297,6 +35297,9 @@ Note that if you use any other option to @code{ALTER TABLE} than
 if the data wouldn't strictly need to be copied (like when you change the
 name of a column). We plan to fix this in the future, but as one doesn't
 normally do @code{ALTER TABLE} that often this isn't that high on our TODO.
+For MyISAM tables, you can speed up the index recreation part (which is the
+slowest part of the recreation process) by setting the
+@code{myisam_sort_buffer_size} variable to a high value.
 
 @itemize @bullet
 @item
diff --git a/client/mysql.cc b/client/mysql.cc
index 44257095c3ab7809aaf95c841b55e0a9bf0cd936..239e624a6911c669fef4778e117103637f516fbe 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -354,18 +354,6 @@ int main(int argc,char *argv[])
 	  mysql_thread_id(&mysql),mysql_get_server_info(&mysql));
   put_info((char*) glob_buffer.ptr(),INFO_INFO);
 
-#ifdef HAVE_OPENSSL
-  if (mysql.net.vio->ssl_ && SSL_get_cipher(mysql.net.vio->ssl_))
-  {
-    sprintf((char*) glob_buffer.ptr(),
-	    "SSL cipher in use is %s\n", SSL_get_cipher(mysql.net.vio->ssl_));
-    put_info((char*) glob_buffer.ptr(),INFO_INFO);
-  }
-  else
-    put_info("SSL is not in use\n",INFO_INFO);
-#endif /* HAVE_OPENSSL */
-
-
 #ifdef HAVE_READLINE
   initialize_readline(my_progname);
   if (!status.batch && !quick && !opt_html && !opt_xml)
@@ -2329,6 +2317,13 @@ com_status(String *buffer __attribute__((unused)),
       tee_fprintf(stdout, "Current user:\t\t%s\n",cur[1]);
       (void) mysql_fetch_row(result);		// Read eof
     }
+#ifdef HAVE_OPENSSL
+    if (mysql.net.vio->ssl_ && SSL_get_cipher(mysql.net.vio->ssl_))
+      tee_fprintf("SSL cipher in use is %s\n",
+		  SSL_get_cipher(mysql.net.vio->ssl_));
+    else
+#endif /* HAVE_OPENSSL */
+      tee_puts("SSL is not in use\n", stdout);
   }
   else
   {
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index f861f3c96c5b3f7db92f61c0ff73ef1895518006..baa6f5a72f20f7c6e52ff10f1c18d05583fccb51 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -698,7 +698,7 @@ static const char *default_options[]=
   "port","socket","compress","password","pipe", "timeout", "user",
   "init-command", "host", "database", "debug", "return-found-rows",
   "ssl-key" ,"ssl-cert" ,"ssl-ca" ,"ssl-capath",
-  "character-set-dir", "default-character-set", "interactive-timeout",
+  "character-sets-dir", "default-character-set", "interactive-timeout",
   "connect-timeout", "local-infile", "disable-local-infile",
   "replication-probe", "enable-reads-from-master", "repl-parse-query",
   "ssl-cipher",
diff --git a/sql/sql_string.cc b/sql/sql_string.cc
index 8fe84947ac26a1b6700db7ae9ca2e8f2f0c0ff94..b0ac378c86132f141e5ba6782e1e7708d049ad1e 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -40,19 +40,16 @@ extern void sql_element_free(void *ptr);
 bool String::real_alloc(uint32 arg_length)
 {
   arg_length=ALIGN_SIZE(arg_length+1);
+  str_length=0;
   if (Alloced_length < arg_length)
   {
     free();
     if (!(Ptr=(char*) my_malloc(arg_length,MYF(MY_WME))))
-    {
-      str_length=0;
       return TRUE;
-    }
     Alloced_length=arg_length;
     alloced=1;
   }
   Ptr[0]=0;
-  str_length=0;
   return FALSE;
 }