diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index b77776d75bb01728980d7d8a66804bf6f54bc083..cf8527096c683a09d967b3b85836f999689d2ce0 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -7690,6 +7690,8 @@ static void *pri_dchannel(void *vpri)
 		if (e) {
 			if (pri->debug)
 				pri_dump_event(pri->dchans[which], e);
+			if (e->e != PRI_EVENT_DCHAN_DOWN)
+				pri->dchanavail[which] |= DCHAN_UP;
 			switch(e->e) {
 			case PRI_EVENT_DCHAN_UP:
 				if (option_verbose > 1)