diff --git a/changes/bug23693 b/changes/bug23693
new file mode 100644
index 0000000000000000000000000000000000000000..796398be516ddcbeda2eb464f7c7af44f199fd14
--- /dev/null
+++ b/changes/bug23693
@@ -0,0 +1,6 @@
+  o Minor bugfixes (relay, crash):
+    - Avoid a crash when transitioning from client mode to bridge mode.
+      Previously, we would launch the worker threads whenever our "public
+      server" mode changed, but not when our "server" mode changed.
+      Fixes bug 23693; bugfix on 0.2.6.3-alpha.
+
diff --git a/src/or/config.c b/src/or/config.c
index 82c35e952b17c808a8535a516e9cf13eabc978bb..b9eb7f588aba3ac5aa30e6449ff274b28c0b9e4e 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -4678,6 +4678,7 @@ options_transition_affects_workers(const or_options_t *old_options,
                                        new_options->ServerDNSSearchDomains ||
       old_options->SafeLogging_ != new_options->SafeLogging_ ||
       old_options->ClientOnly != new_options->ClientOnly ||
+      server_mode(old_options) != server_mode(new_options) ||
       public_server_mode(old_options) != public_server_mode(new_options) ||
       !config_lines_eq(old_options->Logs, new_options->Logs) ||
       old_options->LogMessageDomains != new_options->LogMessageDomains)