diff --git a/src/sbbs3/con_out.cpp b/src/sbbs3/con_out.cpp
index c72c622c37359bc9f1e0fe1c6fa1fe26bd9878bf..9410d62215291b0fab798d4975ad29c3a2abe235 100644
--- a/src/sbbs3/con_out.cpp
+++ b/src/sbbs3/con_out.cpp
@@ -727,6 +727,8 @@ int sbbs_t::outchar(char ch)
 			outcom(TELNET_IAC);	/* Must escape Telnet IAC char (255) */
 		if(ch == '\r' && (console&CON_CR_CLREOL))
 			cleartoeol();
+		if(ch == '\n' && line_delay)
+			SLEEP(line_delay);
 		if(term&PETSCII) {
 			uchar pet = cp437_to_petscii(ch);
 			if(pet == PETSCII_SOLID)
@@ -739,11 +741,8 @@ int sbbs_t::outchar(char ch)
 		} else {
 			if(utf8[0] != 0)
 				putcom(utf8);
-			else {
-				if(ch == '\n' && line_delay)
-					SLEEP(line_delay);
+			else
 				outcom(ch);
-			}
 		}
 	}
 	if(outchar_esc == ansiState_none) {