diff --git a/main/app.c b/main/app.c
index 50a407adad3f4265da4f4aa4f14cd36cb36b88ef..cee7553fb4c3c39c3bb6bcb395005ac4fe64d0d9 100644
--- a/main/app.c
+++ b/main/app.c
@@ -876,7 +876,9 @@ int ast_app_group_set_channel(struct ast_channel *chan, const char *data)
 	}
 	AST_RWLIST_TRAVERSE_SAFE_END
 
-	if ((gi = calloc(1, len))) {
+	if (ast_strlen_zero(group)) {
+		/* Enable unsetting the group */
+	} else if ((gi = calloc(1, len))) {
 		gi->chan = chan;
 		gi->group = (char *) gi + sizeof(*gi);
 		strcpy(gi->group, group);