diff --git a/channels/chan_phone.c b/channels/chan_phone.c
index 781431ce27fc33aaef3817005c542c0315732c14..91feea175d2e495e845fab5adbe4acfeaea0bac5 100644
--- a/channels/chan_phone.c
+++ b/channels/chan_phone.c
@@ -1068,7 +1068,7 @@ static void *do_monitor(void *data)
 		ast_mutex_unlock(&iflock);
 
 		/* Wait indefinitely for something to happen */
-		if (dotone && i->mode != MODE_SIGMA) {
+		if (dotone && i && i->mode != MODE_SIGMA) {
 			/* If we're ready to recycle the time, set it to 30 ms */
 			tonepos += 240;
 			if (tonepos >= sizeof(DialTone))