diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index e95ef8209549a366edc9c90a22af60adb2d58164..fa1b2aebb29293ff6e42786e2ea240b3adeb4af6 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -1225,6 +1225,12 @@ Details    : looking up an inode via iopen with the wrong generation number can
 	     assertion failure in iopen since the inode's dentry list contains
 	     both a connected and disconnected dentry.
 
+Severity   : normal
+Bugzilla   : 16496
+Description: assertion failure in ldlm_handle2lock()
+Details    : fix a race between class_handle_unhash() and class_handle2object()
+	     introduced in lustre 1.6.5 by bug 13622.
+
 --------------------------------------------------------------------------------
 
 2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>
diff --git a/lustre/obdclass/lustre_handles.c b/lustre/obdclass/lustre_handles.c
index 7128f24e8836e702b082f5dd97f60eac6b510a43..23d25dc8a97abf4be3e519e1541d8ee2879b5486 100644
--- a/lustre/obdclass/lustre_handles.c
+++ b/lustre/obdclass/lustre_handles.c
@@ -195,7 +195,7 @@ void *class_handle2object(__u64 cookie)
                         continue;
 
                 spin_lock(&h->h_lock);
-                if (likely(h->h_cookie != 0)) {
+                if (likely(h->h_in != 0)) {
                         h->h_addref(h);
                         retval = h;
                 }