diff --git a/src/msg/async/ProtocolV2.cc b/src/msg/async/ProtocolV2.cc
index d6e9f125738..b25132fb3d2 100644
--- a/src/msg/async/ProtocolV2.cc
+++ b/src/msg/async/ProtocolV2.cc
@@ -661,6 +661,12 @@ CtPtr ProtocolV2::_fault() {
     connection->write_lock.unlock();
     return nullptr;
   }
+  if (connection->policy.server) {
+    ldout(cct, 1) << __func__ << " server, going to standby, even though i have stuff queued" << dendl;
+    state = STANDBY;
+    connection->write_lock.unlock();
+    return nullptr;
+  }
 
   connection->write_lock.unlock();