diff --git a/src/sbbs3/logon.cpp b/src/sbbs3/logon.cpp index 17991b9107b2add048ff604b15540b1a9e2a108c..5ddc5add8a992440801215c92720bc732cdb730a 100644 --- a/src/sbbs3/logon.cpp +++ b/src/sbbs3/logon.cpp @@ -162,10 +162,11 @@ bool sbbs_t::logon() } } - if(((useron.misc & (AUTOTERM | PETSCII)) == PETSCII) && (autoterm & ANSI)) { + if((useron.misc & AUTOTERM) // User manually-enabled PETSCII, but they're logging in with an ANSI (auto-detected) terminal - useron.misc &= ~PETSCII; - useron.misc |= AUTOTERM; + || ((useron.misc & PETSCII) && (autoterm & ANSI))) { + useron.misc &= ~(ANSI|RIP|CHARSET_FLAGS); + useron.misc |= (AUTOTERM | autoterm); } if(!chk_ar(cfg.shell[useron.shell]->ar,&useron,&client)) {