diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 1fb0b87c6f1133fe973e052a29f3fdb4b55b8846..6858435ce166c373ca0c2d9dc97f95c05401adb0 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -9249,15 +9249,19 @@ static void *pri_dchannel(void *vpri)
 					ast_log(LOG_WARNING, "Received SETUP_ACKNOWLEDGE on unconfigured channel %d/%d span %d\n", 
 						PRI_SPAN(e->setup_ack.channel), PRI_CHANNEL(e->setup_ack.channel), pri->span);
 				} else {
-					ast_mutex_lock(&pri->pvts[chanpos]->lock);
-					pri->pvts[chanpos]->setup_ack = 1;
-					/* Send any queued digits */
-					for (x=0;x<strlen(pri->pvts[chanpos]->dialdest);x++) {
-						ast_log(LOG_DEBUG, "Sending pending digit '%c'\n", pri->pvts[chanpos]->dialdest[x]);
-						pri_information(pri->pri, pri->pvts[chanpos]->call, 
-							pri->pvts[chanpos]->dialdest[x]);
-					}
-					ast_mutex_unlock(&pri->pvts[chanpos]->lock);
+					chanpos = pri_fixup_principle(pri, chanpos, e->ring.call);
+					if (chanpos > -1) {
+						ast_mutex_lock(&pri->pvts[chanpos]->lock);
+						pri->pvts[chanpos]->setup_ack = 1;
+						/* Send any queued digits */
+						for (x=0;x<strlen(pri->pvts[chanpos]->dialdest);x++) {
+							ast_log(LOG_DEBUG, "Sending pending digit '%c'\n", pri->pvts[chanpos]->dialdest[x]);
+							pri_information(pri->pri, pri->pvts[chanpos]->call, 
+								pri->pvts[chanpos]->dialdest[x]);
+						}
+						ast_mutex_unlock(&pri->pvts[chanpos]->lock);
+					} else
+						ast_log(LOG_WARNING, "Unable to move channel %d!\n", e->setup_ack.channel);
 				}
 				break;
 			case PRI_EVENT_NOTIFY:
@@ -10973,6 +10977,8 @@ static int setup_zap(int reload)
 					nsf = PRI_NSF_SDN;
 				else if (!strcasecmp(v->value, "megacom"))
 					nsf = PRI_NSF_MEGACOM;
+				else if (!strcasecmp(v->value, "tollfreemegacom"))
+					nsf = PRI_NSF_TOLL_FREE_MEGACOM;				
 				else if (!strcasecmp(v->value, "accunet"))
 					nsf = PRI_NSF_ACCUNET;
 				else if (!strcasecmp(v->value, "none"))
diff --git a/configs/zapata.conf.sample b/configs/zapata.conf.sample
index 8a283ce4ac5be12cae83f6afbd056f101491463e..0ab51441fe2f8c1650f922d82bc5f348bcdd099f 100644
--- a/configs/zapata.conf.sample
+++ b/configs/zapata.conf.sample
@@ -62,7 +62,7 @@ context=default
 switchtype=national
 ;
 ; Some switches (AT&T especially) require network specific facility IE
-; supported values are currently 'none', 'sdn', 'megacom', 'accunet'
+; supported values are currently 'none', 'sdn', 'megacom', 'tollfreemegacom', 'accunet'
 ;
 ;nsf=none
 ;