diff --git a/app.c b/app.c
index bb21be9e899425f2e87879be5ee9e18c26724457..5e5230e963a1b7fd94d932da177048ac850e4fc5 100755
--- a/app.c
+++ b/app.c
@@ -1059,7 +1059,6 @@ int ast_app_group_match_get_count(char *groupmatch, char *category)
 		if (test && !regexec(&regexbuf, test, 0, NULL, 0))
 			count++;
 		ast_mutex_unlock(&chan->lock);
-		chan = ast_channel_walk_locked(chan);
 	}
 
 	regfree(&regexbuf);
diff --git a/manager.c b/manager.c
index c006586950a6ab82af1483322c29faae1b4ebe7a..4f968cd1978e3f7789dfcc16bb71e1f12a114851 100755
--- a/manager.c
+++ b/manager.c
@@ -753,6 +753,7 @@ static int action_status(struct mansession *s, struct message *m)
 			ast_state2str(c->_state), bridge, c->uniqueid, idText);
 		}
 		ast_mutex_unlock(&s->lock);
+		ast_mutex_unlock(&c->lock);
 		if (!all)
 			break;
 		c = ast_channel_walk_locked(c);