diff --git a/src/sbbs3/con_out.cpp b/src/sbbs3/con_out.cpp
index 5dd73d14e1faadee1d69a1357b61cc5923394afa..c63b68ca28706ec764da85d240eef94df0020e05 100644
--- a/src/sbbs3/con_out.cpp
+++ b/src/sbbs3/con_out.cpp
@@ -714,7 +714,7 @@ int sbbs_t::outchar(char ch)
 	if(outchar_esc==3)
 		outchar_esc=0;
 
-	if(lncntr==rows-1 && ((useron.misc&UPAUSE) || sys_status&SS_PAUSEON)
+	if(lncntr==rows-1 && ((useron.misc&(UPAUSE^(console&CON_PAUSEOFF))) || sys_status&SS_PAUSEON)
 		&& !(sys_status&(SS_PAUSEOFF|SS_ABORT))) {
 		lncntr=0;
 		pause();
diff --git a/src/sbbs3/inkey.cpp b/src/sbbs3/inkey.cpp
index 7d2707f061d09bcce7b9a8d2ce66d2a5d7b8376f..44d319ac30180058f971f6b7a80003defb5ad359 100644
--- a/src/sbbs3/inkey.cpp
+++ b/src/sbbs3/inkey.cpp
@@ -204,7 +204,7 @@ char sbbs_t::handle_ctrlkey(char ch, long mode)
 
 	switch(ch) {
 		case CTRL_O:	/* Ctrl-O toggles pause temporarily */
-			useron.misc^=UPAUSE;
+			console^=CON_PAUSEOFF;
 			return(0); 
 		case CTRL_P:	/* Ctrl-P Private node-node comm */
 			if(!(sys_status&SS_USERON))
diff --git a/src/sbbs3/sbbsdefs.h b/src/sbbs3/sbbsdefs.h
index b34b547de5e8c0a121b56a45b6dab97833592131..6fc511ad9f5703dc1c86ac500f6b3bed559560bc 100644
--- a/src/sbbs3/sbbsdefs.h
+++ b/src/sbbs3/sbbsdefs.h
@@ -474,9 +474,10 @@ typedef enum {						/* Values for xtrn_t.event				*/
 								/* Console I/O Bits	(console)				*/
 #define CON_R_ECHO		(1<<0)	/* Echo remotely							*/
 #define CON_R_ECHOX		(1<<1)	/* Echo X's to remote user					*/
+#define CON_L_ECHOX		0		// Unused
 #define CON_R_INPUT		(1<<2)	/* Accept input remotely					*/
 #define CON_L_ECHO		(1<<3)	/* Echo locally              				*/
-#define CON_L_ECHOX		(1<<4)	/* Echo X's locally							*/
+#define CON_PAUSEOFF	(1<<4)	// Temporary pause over-ride (same as UPAUSE)
 #define CON_L_INPUT		(1<<5)	/* Accept input locally						*/
 #define CON_RAW_IN		(1<<8)	/* Raw input mode - no editing capabilities	*/
 #define CON_ECHO_OFF	(1<<10)	/* Remote & Local echo disabled for ML/MF	*/