diff --git a/src/sbbs3/readmsgs.cpp b/src/sbbs3/readmsgs.cpp
index 8dac9db7c1da9a3586713e7fd08a632e4a754765..8bf6eb6fc1441757296e787877c34e2b950824f7 100644
--- a/src/sbbs3/readmsgs.cpp
+++ b/src/sbbs3/readmsgs.cpp
@@ -771,8 +771,11 @@ int sbbs_t::scanposts(int subnum, int mode, const char *find)
 				}
 			}
 		}
-		else
+		else {
+			if (sys_status & SS_ABORT)
+				break;
 			domsg = 1;
+		}
 		if (mode & SCAN_CONT) {
 			if (smb.curmsg < smb.msgs - 1)
 				smb.curmsg++;