diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c
index 3273f5fd4d7f1349d11e7376e81e8c9af8bc9c0a..45e693fd71553ea0ab2bda277c70023b2559d1fd 100644
--- a/src/sbbs3/sbbsecho.c
+++ b/src/sbbs3/sbbsecho.c
@@ -6467,7 +6467,8 @@ int main(int argc, char **argv)
 	}
 
 	if(cfg.badecho >= 0)
-		lprintf(LOG_DEBUG, "Bad-echo area: %s", scfg.sub[cfg.area[cfg.badecho].sub]->code);
+		lprintf(LOG_DEBUG, "Bad-echo area: %s"
+			,cfg.area[cfg.badecho].sub == INVALID_SUB ? "INVALID_SUB" : scfg.sub[cfg.area[cfg.badecho].sub]->code);
 
 	if(cfg.auto_add_subs) {
 		for(unsigned subnum = 0; subnum < scfg.total_subs; subnum++) {