diff --git a/mysql-test/r/update.result b/mysql-test/r/update.result
index 436f837ab68af5c498054cc6bea8c8c7207586d6..ba5c1c6e28f4d91e924f399b7ea91ac2be9dba37 100644
--- a/mysql-test/r/update.result
+++ b/mysql-test/r/update.result
@@ -109,6 +109,6 @@ update t1 set b=4 where a=1 order by b desc limit 1;
 select * from t1;
 a	b
 1	4
-1	4
 1	2
+1	4
 drop table t1;
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 270f164bf8032f0c4b7f53178432cd9208a4a3e1..3111268849f8e61f713911daf24c92c66ca355c8 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -335,5 +335,6 @@ int mysql_update(THD *thd,
     DBUG_PRINT("info",("%d records updated",updated));
   }
   thd->count_cuted_fields=0;			/* calc cuted fields */
+  free_io_cache(table);
   DBUG_RETURN(0);
 }