diff --git a/src/multiplexed_socket.cpp b/src/multiplexed_socket.cpp
index 2471256..db4b0cb 100644
--- a/src/multiplexed_socket.cpp
+++ b/src/multiplexed_socket.cpp
@@ -460,9 +460,13 @@
                 if (pimpl.handleProtocolMsg(object))
                     continue;
                 auto req = object.as<ChannelRequest>();
-                if (req.state == ChannelRequestState::ACCEPT) {
+                if (req.state == ChannelRequestState::REQUEST) {
+                    pimpl.onRequest(req.name, req.channel);
+                }
+                else if (req.state == ChannelRequestState::ACCEPT) {
                     pimpl.onAccept(req.name, req.channel);
-                } else if (req.state == ChannelRequestState::DECLINE) {
+                } else {
+                    // DECLINE or unknown
                     std::lock_guard<std::mutex> lkSockets(pimpl.socketsMutex);
                     auto channel = pimpl.sockets.find(req.channel);
                     if (channel != pimpl.sockets.end()) {
@@ -470,8 +474,6 @@
                         channel->second->stop();
                         pimpl.sockets.erase(channel);
                     }
-                } else if (pimpl.onRequest_) {
-                    pimpl.onRequest(req.name, req.channel);
                 }
             }
         } catch (const std::exception& e) {
