diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 523c4aa01f668e02e971577a1ae280859e636093..2868c8ffa0e898d8257f0aedeee7570ff2527b1b 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -3022,6 +3022,9 @@ static void enable_dtmf_detect(struct zt_pvt *p)
 	int val;
 #endif
 
+	if (p->channel == CHAN_PSEUDO)
+		return;
+
 	p->ignoredtmf = 0;
 
 #ifdef ZT_TONEDETECT
@@ -5101,7 +5104,10 @@ static struct ast_channel *zt_new(struct zt_pvt *i, int state, int startpbx, int
 			if (i->dsp) {
 				ast_log(LOG_DEBUG, "Already have a dsp on %s?\n", tmp->name);
 			} else {
-				i->dsp = ast_dsp_new();
+				if (i->channel != CHAN_PSEUDO)
+					i->dsp = ast_dsp_new();
+				else
+					i->dsp = NULL;
 				if (i->dsp) {
 					i->dsp_features = features & ~DSP_PROGRESS_TALK;
 #ifdef ZAPATA_PRI