diff --git a/apps/app_queue.c b/apps/app_queue.c
index b01780e0e84d653798730641c0459e25d864fc38..b9afc6ac2a1b00b57f1f7e8bf1f0b3283d68ebc3 100755
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -892,7 +892,7 @@ static int valid_exit(struct queue_ent *qe, char digit)
 
 #define AST_MAX_WATCHERS 256
 
-static struct localuser *wait_for_answer(struct queue_ent *qe, struct localuser *outgoing, int *to, struct localuser *flags, char *digit)
+static struct localuser *wait_for_answer(struct queue_ent *qe, struct localuser *outgoing, int *to, struct ast_flags *flags, char *digit)
 {
 	char *queue = qe->parent->name;
 	struct localuser *o;
@@ -1247,7 +1247,7 @@ static int try_calling(struct queue_ent *qe, char *options, char *announceoverri
 	struct member *cur;
 	struct localuser *outgoing=NULL, *tmp = NULL;
 	int to;
-	struct localuser flags_dummy;
+	struct ast_flags flags;
 	char restofit[AST_MAX_EXTENSION];
 	char oldexten[AST_MAX_EXTENSION]="";
 	char oldcontext[AST_MAX_EXTENSION]="";
@@ -1354,7 +1354,7 @@ static int try_calling(struct queue_ent *qe, char *options, char *announceoverri
 		to = -1;
 	ring_one(qe, outgoing);
 	ast_mutex_unlock(&qe->parent->lock);
-	lpeer = wait_for_answer(qe, outgoing, &to, &flags_dummy, &digit);
+	lpeer = wait_for_answer(qe, outgoing, &to, &flags, &digit);
 	ast_mutex_lock(&qe->parent->lock);
 	if (qe->parent->strategy == QUEUE_STRATEGY_RRMEMORY) {
 		store_next(qe, outgoing);
@@ -1473,10 +1473,10 @@ static int try_calling(struct queue_ent *qe, char *options, char *announceoverri
 		time(&callstart);
 
 		memset(&config,0,sizeof(struct ast_bridge_config));
-		config.allowredirect_in = ast_test_flag(&flags_dummy, QUEUE_FLAG_REDIR_IN);
-		config.allowredirect_out = ast_test_flag(&flags_dummy, QUEUE_FLAG_REDIR_OUT);
-		config.allowdisconnect_in = ast_test_flag(&flags_dummy, QUEUE_FLAG_DISCON_IN);
-		config.allowdisconnect_out = ast_test_flag(&flags_dummy, QUEUE_FLAG_DISCON_OUT);
+		config.allowredirect_in = ast_test_flag(&flags, QUEUE_FLAG_REDIR_IN);
+		config.allowredirect_out = ast_test_flag(&flags, QUEUE_FLAG_REDIR_OUT);
+		config.allowdisconnect_in = ast_test_flag(&flags, QUEUE_FLAG_DISCON_IN);
+		config.allowdisconnect_out = ast_test_flag(&flags, QUEUE_FLAG_DISCON_OUT);
 		bridge = ast_bridge_call(qe->chan,peer,&config);
 
 		if (strcasecmp(oldcontext, qe->chan->context) || strcasecmp(oldexten, qe->chan->exten)) {