diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 13c913b92ec44c90eeee7f4fbce743e4cde396c1..d2cd77d0d7c4e8e5b7dc5d3aab5b16da787ec77c 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -880,7 +880,7 @@ static int zt_digit(struct ast_channel *ast, char digit)
 	p = ast->pvt->pvt;
 	ast_mutex_lock(&p->lock);
 	index = zt_get_index(ast, p, 0);
-	if (index == SUB_REAL) {
+	if ((index == SUB_REAL) && p->owner) {
 #ifdef ZAPATA_PRI
 		if (p->sig == SIG_PRI && ast->_state == AST_STATE_DIALING && (p->proceeding < 2)) {
 			if (p->setup_ack) {