diff --git a/client/mysqltest.c b/client/mysqltest.c
index e51d83270b5f61315d6066ed562052defd22ed25..ecf54e40400afd1fe25bb365e5643779360bff82 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -153,7 +153,7 @@ static uint global_expected_errors;
 
 /* ************************************************************************ */
 
-static int record = 0, opt_sleep=0;
+static int record= 0, opt_sleep= -1;
 static char *db = 0, *pass=0;
 const char *user = 0, *host = 0, *unix_sock = 0, *opt_basedir="./";
 static int port = 0;
@@ -1724,11 +1724,12 @@ int do_sleep(struct st_query *query, my_bool real_sleep)
 		query->first_argument);
 
   /* Fixed sleep time selected by --sleep option */
-  if (opt_sleep && !real_sleep)
+  if (opt_sleep >= 0 && !real_sleep)
     sleep_val= opt_sleep;
 
   DBUG_PRINT("info", ("sleep_val: %f", sleep_val));
-  my_sleep((ulong) (sleep_val * 1000000L));
+  if (sleep_val)
+    my_sleep((ulong) (sleep_val * 1000000L));
   query->last_argument= sleep_end;
   return 0;
 }
@@ -2935,7 +2936,7 @@ static struct my_option my_long_options[] =
    "Don't use the memory allocation checking.", 0, 0, 0, GET_NO_ARG, NO_ARG,
    0, 0, 0, 0, 0, 0},
   {"sleep", 'T', "Sleep always this many seconds on sleep commands.",
-   (gptr*) &opt_sleep, (gptr*) &opt_sleep, 0, GET_INT, REQUIRED_ARG, 0, 0, 0,
+   (gptr*) &opt_sleep, (gptr*) &opt_sleep, 0, GET_INT, REQUIRED_ARG, -1, 0, 0,
    0, 0, 0},
   {"socket", 'S', "Socket file to use for connection.",
    (gptr*) &unix_sock, (gptr*) &unix_sock, 0, GET_STR, REQUIRED_ARG, 0, 0, 0,