diff --git a/lib/gat/handlers/pool/pools/hybrid/pool.go b/lib/gat/handlers/pool/pools/hybrid/pool.go
index a84c6e2f96542fd5a033974192514bd1ccb6cff5..2e5055fb58f55255c3ff3121bfe4cb519ac9c079 100644
--- a/lib/gat/handlers/pool/pools/hybrid/pool.go
+++ b/lib/gat/handlers/pool/pools/hybrid/pool.go
@@ -290,7 +290,7 @@ func (T *Pool) serveRW(conn *fed.Conn) error {
err, serverErr = T.Pair(client, primary)
- if serverErr == nil {
+ if err == nil && serverErr == nil {
err, serverErr = bouncers.Bounce(conn, primary.Conn, packet)
}
if serverErr != nil {