diff --git a/src/sbbs3/logon.cpp b/src/sbbs3/logon.cpp
index 27eb915bd8df8fdc9136c3d5333b399fa244a68b..4dd00ca453f12db296ebd5e2b273845c274abaef 100644
--- a/src/sbbs3/logon.cpp
+++ b/src/sbbs3/logon.cpp
@@ -163,10 +163,7 @@ bool sbbs_t::logon()
 	}
 
 
-	if(useron.misc&AUTOTERM) {
-		useron.misc&=~(ANSI|RIP|PETSCII);
-		useron.misc|=autoterm;
-	} else if((useron.misc&PETSCII) && (autoterm&ANSI)) {
+	if(((useron.misc & (AUTOTERM | PETSCII)) == PETSCII) && (autoterm&ANSI)) {
 		// User manually-enabled PETSCII, but they're logging in with an ANSI (auto-detected) terminal
 		useron.misc &= ~PETSCII;
 		useron.misc |= (AUTOTERM | autoterm);