diff --git a/client/mysqltest.c b/client/mysqltest.c
index 258473194ca8dde40f1849b9ffb7452782c7c09d..e03b7944641ad82f4890c528858547487e7f0276 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -1329,23 +1329,31 @@ void var_set(const char *var_name, const char *var_name_end,
   DBUG_VOID_RETURN;
 }
 
+
+void var_set_string(const char* name, const char* value)
+{
+  var_set(name, name + strlen(name), value, value + strlen(value));
+}
+
+
+void var_set_int(const char* name, int value)
+{
+  char buf[21];
+  snprintf(buf, sizeof(buf), "%d", value);
+  var_set_string(name, buf);
+}
+
+
 /*
   Store an integer (typically the returncode of the last SQL)
-  statement in the mysqltest builtin variable $mysql_errno, by
-  simulating of a user statement "let $mysql_errno= <integer>"
+  statement in the mysqltest builtin variable $mysql_errno
 */
 
 void var_set_errno(int sql_errno)
 {
-  /* TODO MASV make easier */
-  const char *var_name= "$mysql_errno";
-  char var_val[21];
-  uint length= my_sprintf(var_val, (var_val, "%d", sql_errno));
-  var_set(var_name, var_name + 12, var_val, var_val + length);
-  return;
+  var_set_int("$mysql_errno", sql_errno);
 }
 
-
 /*
   Set variable from the result of a query
 
@@ -6011,6 +6019,8 @@ int main(int argc, char **argv)
                 1024, 0, 0, get_var_key, var_free, MYF(0)))
     die("Variable hash initialization failed");
 
+  var_set_string("$MYSQL_SERVER_VERSION", MYSQL_SERVER_VERSION);
+
   memset(&master_pos, 0, sizeof(master_pos));
 
   parser.current_line= parser.read_lines= 0;