diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c
index 09aad2190bd437b9c6fc62f9b0d1d26d8c46db82..bb47e13889d8d8edd0a86e7bb0088891c44556f0 100644
--- a/src/sbbs3/sbbsecho.c
+++ b/src/sbbs3/sbbsecho.c
@@ -5884,7 +5884,7 @@ void import_packets(const char* inbound, nodecfg_t* inbox, bool secure)
 					lprintf(LOG_NOTICE, "Adding unknown area (%s) to bad area list: %s", areatag, cfg.badareafile);
 					strListPush(&bad_areas, areatag);
 				}
-				if(cfg.badecho>=0) {
+				if(cfg.badecho>=0 && (cfg.secure_echomail == false || area_is_linked(cfg.badecho, &pkt_orig))) {
 					i=cfg.badecho;
 					if(cfg.area[i].sub!=INVALID_SUB)
 						printf("%s ",scfg.sub[cfg.area[i].sub]->code);