diff --git a/src/sbbs3/readtext.c b/src/sbbs3/readtext.c
index 2dd5c13682ffaf72b96582adc9acbd2ae9c938e5..55963c55d082ff55da12ff9412c90df92ce3fbcf 100644
--- a/src/sbbs3/readtext.c
+++ b/src/sbbs3/readtext.c
@@ -140,9 +140,12 @@ char *readtext(int *line,FILE *stream,int dflt)
 	strcpy(p,str);
 	return(p);
 use_default:
-	p=strdup(text_defaults[dflt]);
-	if(p==NULL)
-		lprintf(LOG_CRIT,"Error duplicating %s text defaults",text_defaults[dflt]);
-	return(p);
+	if (dflt < TOTAL_TEXT) {
+		p=strdup(text_defaults[dflt]);
+		if(p==NULL)
+			lprintf(LOG_CRIT,"Error duplicating %s text defaults",text_defaults[dflt]);
+		return(p);
+	}
+	lprintf(LOG_CRIT,"Text defaults missing %d",dflt);
+	return NULL;
 }
-