diff --git a/mysys/thr_lock.c b/mysys/thr_lock.c
index 02c9f08c9460ff29b495f84e21b9176a58ab47c0..853e1f96b49f7d195659676a9880aefe8b3cec8f 100644
--- a/mysys/thr_lock.c
+++ b/mysys/thr_lock.c
@@ -333,10 +333,10 @@ void thr_lock_init(THR_LOCK *lock)
 void thr_lock_delete(THR_LOCK *lock)
 {
   DBUG_ENTER("thr_lock_delete");
-  VOID(pthread_mutex_destroy(&lock->mutex));
   pthread_mutex_lock(&THR_LOCK_lock);
   thr_lock_thread_list=list_delete(thr_lock_thread_list,&lock->list);
   pthread_mutex_unlock(&THR_LOCK_lock);
+  pthread_mutex_destroy(&lock->mutex);
   DBUG_VOID_RETURN;
 }