diff --git a/res/res_stasis.c b/res/res_stasis.c
index b64f40ca908cd575cddca5b2062862519b65fb77..5d44d0ef951a96bbb3dfbc7b9fcb108da7fff5de 100644
--- a/res/res_stasis.c
+++ b/res/res_stasis.c
@@ -442,12 +442,15 @@ static void control_unlink(struct stasis_app_control *control)
 struct ast_bridge *stasis_app_bridge_create(const char *type)
 {
 	struct ast_bridge *bridge;
-	int capabilities, flags = 0;
+	int capabilities, flags = AST_BRIDGE_FLAG_MERGE_INHIBIT_FROM | AST_BRIDGE_FLAG_MERGE_INHIBIT_TO
+		| AST_BRIDGE_FLAG_SWAP_INHIBIT_FROM | AST_BRIDGE_FLAG_SWAP_INHIBIT_TO
+		| AST_BRIDGE_FLAG_TRANSFER_PROHIBITED;
+
 	if (ast_strlen_zero(type) || !strcmp(type, "mixing")) {
 		capabilities = AST_BRIDGE_CAPABILITY_1TO1MIX |
 			AST_BRIDGE_CAPABILITY_MULTIMIX |
 			AST_BRIDGE_CAPABILITY_NATIVE;
-		flags = AST_BRIDGE_FLAG_SMART;
+		flags |= AST_BRIDGE_FLAG_SMART;
 	} else if (!strcmp(type, "holding")) {
 		capabilities = AST_BRIDGE_CAPABILITY_HOLDING;
 	} else {