diff --git a/lustre/ptlrpc/connection.c b/lustre/ptlrpc/connection.c
index f3dba0f6a47e89952c4a368d92879c4d3a0b65b2..2b9fa8dd43d02e9e13e95a2bfefced6dd6267420 100644
--- a/lustre/ptlrpc/connection.c
+++ b/lustre/ptlrpc/connection.c
@@ -177,7 +177,7 @@ int ptlrpc_put_connection(struct ptlrpc_connection *c)
                 lustre_hash_delitem(conn_hash_body, &c->c_peer, &c->c_hash);
                 rc = lustre_hash_additem_unique(conn_unused_hash_body, &c->c_peer, 
                                                 &c->c_hash);
-                spin_lock(&conn_lock);
+                spin_unlock(&conn_lock);
                 if (rc != 0) {
                         CERROR("Cannot hash connection to conn_hash_body\n");
                         GOTO(ret, rc);