diff --git a/src/citra_qt/debugger/console.cpp b/src/citra_qt/debugger/console.cpp
index 4cfd33a01..f405f8172 100644
--- a/src/citra_qt/debugger/console.cpp
+++ b/src/citra_qt/debugger/console.cpp
@@ -34,6 +34,12 @@ void ToggleConsole() {
             freopen_s(&temp, "NUL", "w", stderr);
         }
     }
+#else
+    if (UISettings::values.show_console) {
+        Log::AddBackend(std::make_unique<Log::ColorConsoleBackend>());
+    } else {
+        Log::RemoveBackend(Log::ColorConsoleBackend::Name());
+    }
 #endif
 }
 } // namespace Debugger
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 731c57f41..ab1e3b5c3 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -1338,8 +1338,6 @@ void GMainWindow::SyncMenuUISettings() {
 #endif
 
 int main(int argc, char* argv[]) {
-    Log::AddBackend(std::make_unique<Log::ColorConsoleBackend>());
-
     MicroProfileOnThreadCreate("Frontend");
     SCOPE_EXIT({ MicroProfileShutdown(); });