diff --git a/apps/app_dial.c b/apps/app_dial.c
index 3219e781b53bd7e71d123d5d079e4822626fca7b..a5bf3c39b6a41aacd9c42888b9acc298ee6f912a 100755
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -454,8 +454,8 @@ static int dial_exec(struct ast_channel *chan, void *data)
 				tmp->dataquality = 1;
                         else    tmp->dataquality = 0;
 			if (strchr(transfer, 'H'))
-				tmp->allowdisconnect = 1;
-                        else    tmp->allowdisconnect = 0;
+				allowdisconnect = tmp->allowdisconnect = 1;
+                        else    allowdisconnect = tmp->allowdisconnect = 0;
 			if (strchr(transfer, 'c'))
 				clearchannel = 1;
             else