diff --git a/src/sbbs3/un_rep.cpp b/src/sbbs3/un_rep.cpp
index a1b284a5876a4f9176955f059cf09312c8b98ee2..9c89bae512e59716364d0b7fcbd039a9eb41cbc2 100644
--- a/src/sbbs3/un_rep.cpp
+++ b/src/sbbs3/un_rep.cpp
@@ -116,6 +116,11 @@ bool sbbs_t::unpack_rep(char* repfile)
 	bputs(text[QWKUnpacking]);
 
 	for(l=QWK_BLOCK_LEN;l<size;l+=i*QWK_BLOCK_LEN) {
+		if(terminated) {
+			bprintf("!Terminated");
+			break;
+		}
+
 		lncntr=0;					/* defeat pause */
 		if(fseek(rep,l,SEEK_SET)!=0) {
 			sprintf(str,"%s.msg", cfg.sys_id);