diff --git a/main/manager.c b/main/manager.c
index 791e839d0dca03d5651bc61e5733b36345d64f88..d9959a2c99d9871e16b9905a501ee55aa24d713f 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -2834,6 +2834,7 @@ static struct mansession *find_session(unsigned long ident)
 		ast_mutex_lock(&s->__lock);
 		if (s->managerid == ident && !s->needdestroy) {
 			ast_atomic_fetchadd_int(&s->inuse, 1);
+			ast_mutex_unlock(&s->__lock);
 			break;
 		}
 		ast_mutex_unlock(&s->__lock);