diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index b06ec1d459ac666da76d65fff9c0e74ad31e567b..f11d02b5252c5284c809d7d50378ef512b3c44e1 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -1635,7 +1635,7 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout)
 			snprintf(p->dop.dialstr, sizeof(p->dop.dialstr), "M*%s#", c + p->stripmsd);
 		} else 
 			snprintf(p->dop.dialstr, sizeof(p->dop.dialstr), "T%sw", c + p->stripmsd);
-		if (strlen(p->dop.dialstr) > 4) {
+		if (p->echotraining && (strlen(p->dop.dialstr) > 4)) {
 			memset(p->echorest, 'w', sizeof(p->echorest) - 1);
 			strcpy(p->echorest + (p->echotraining / 400) + 1, p->dop.dialstr + strlen(p->dop.dialstr) - 2);
 			p->echorest[sizeof(p->echorest) - 1] = '\0';