diff --git a/src/sbbs3/smbutil.c b/src/sbbs3/smbutil.c
index 17c3588c187127f5e94cdf6ee26768b9bb967e5b..b93ffbcaf2b1f19c896378dbb4acc7813bc76e35 100644
--- a/src/sbbs3/smbutil.c
+++ b/src/sbbs3/smbutil.c
@@ -841,7 +841,7 @@ void maint(void)
 			idx[m].attr|=MSG_DELETE; } }
 	printf("\r100%% (%lu flagged for deletion)\n",f);
 
-	if(l-flagged>smb.status.max_msgs) {
+	if(smb.status.max_msgs && l-flagged>smb.status.max_msgs) {
 		printf("Flagging excess messages for deletion...\n");
 		for(m=n=0,f=flagged;l-flagged>smb.status.max_msgs && m<l;m++) {
 			if(idx[m].attr&(MSG_PERMANENT|MSG_DELETE))