diff --git a/daemon/call.c b/daemon/call.c index a68716090..d4b7e65b2 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -2772,11 +2772,17 @@ static void __monologue_destroy(struct call_monologue *monologue, int recurse) { if (dialogue == monologue) continue; if (monologue->tag.len + && dialogue->tag.len && !g_hash_table_lookup(dialogue->other_tags, &monologue->tag)) continue; if (monologue->viabranch.len + && !monologue->tag.len && !g_hash_table_lookup(dialogue->branches, &monologue->viabranch)) continue; + if (!dialogue->tag.len + && dialogue->viabranch.len + && !g_hash_table_lookup(monologue->branches, &dialogue->viabranch)) + continue; g_hash_table_remove(dialogue->other_tags, &monologue->tag); g_hash_table_remove(dialogue->branches, &monologue->viabranch);