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 {