diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c
index 1646f2baf51fc35e6ae7c41e600291b7063018f5..02829cd217897a1b1d2a9f52672bb78a2f5dd570 100644
--- a/client/mysql_upgrade.c
+++ b/client/mysql_upgrade.c
@@ -456,7 +456,11 @@ static int run_query(const char *query, DYNAMIC_STRING *ds_res,
 
   if (my_write(fd, query, strlen(query),
                MYF(MY_FNABP | MY_WME)))
+  {
+    my_close(fd, MYF(0));
+    my_delete(query_file_path, MYF(0));
     die("Failed to write to '%s'", query_file_path);
+  }
 
   ret= run_tool(mysql_path,
                 ds_res,