diff --git a/src/sbbs3/pack_qwk.cpp b/src/sbbs3/pack_qwk.cpp
index 5f1fff744636f9435a1848cee5dd43814b4dd19a..8434e6f6e9af150f2b38eac1cffd0c0836857f29 100644
--- a/src/sbbs3/pack_qwk.cpp
+++ b/src/sbbs3/pack_qwk.cpp
@@ -410,11 +410,12 @@ bool sbbs_t::pack_qwk(char *packet, ulong *msgcnt, bool prepack)
 					(*msgcnt)++;
 					submsgs++;
 					if(cfg.max_qwkmsgs
-						&& !(useron.rest&FLAG('Q')) && (*msgcnt)>=cfg.max_qwkmsgs) {
+						/* && !(useron.rest&FLAG('Q')) */ && (*msgcnt)>=cfg.max_qwkmsgs) {
 						bputs(text[QWKmsgLimitReached]);
 						break; 
 					} 
-					mswait(1);	/* yield */
+					if(!(l%50))
+						mswait(1);	/* yield */
 				}
 				if(!(sys_status&SS_ABORT))
 					bprintf(text[QWKPackedSubboard],submsgs,(*msgcnt));