diff --git a/channels/chan_brcm.c b/channels/chan_brcm.c
index be8fa3fc197d9b8ff97a8b43a6b12d63bb6e3b8a..85de36a637dfb91d6fef69ebb6ad7e500f02aaa1 100644
--- a/channels/chan_brcm.c
+++ b/channels/chan_brcm.c
@@ -3443,20 +3443,20 @@ static struct ast_channel *brcm_request(const char *type, struct ast_format_cap
 	if (!(ast_format_cap_has_type(cap, AST_MEDIA_TYPE_AUDIO))) {
 		struct ast_str *codec_buf = ast_str_alloca(64);
 		ast_log(LOG_NOTICE, "Asked to get a channel of unsupported format '%s'\n", ast_format_cap_get_names(cap, &codec_buf));
-		return NULL;
 	} else if (sub) {
 		sub->channel_state = ALLOCATED;
 		sub->connection_id = ast_atomic_fetchadd_int((int *)&current_connection_id, +1);
 		tmp = brcm_new(sub, AST_STATE_DOWN, sub->parent->ext, sub->parent->context, assignedids, requestor ? requestor : NULL, cap);
 	} else {
 		*cause = AST_CAUSE_BUSY;
+		ast_log(LOG_NOTICE, "Idle subchannel not found\n");
 	}
 
-	//ast_mutex_unlock(&p->lock);
 	pvt_unlock(p);
 	ast_mutex_unlock(&iflock);
 
-	ast_debug(3, "Created a new ast_channel %s, uniqid:%s, linkedid:%s\n", ast_channel_name(tmp), ast_channel_uniqueid(tmp),
+	if (tmp)
+		ast_debug(3, "Created a new ast_channel %s, uniqid:%s, linkedid:%s\n", ast_channel_name(tmp), ast_channel_uniqueid(tmp),
 			ast_channel_linkedid(tmp));
 	return tmp;
 }