diff --git a/nats.go b/nats.go
index <HASH>..<HASH> 100644
--- a/nats.go
+++ b/nats.go
@@ -1441,7 +1441,9 @@ func (nc *Conn) flusher() {
 			return
 		}
 		if bw.Buffered() > 0 {
-			nc.err = bw.Flush()
+			if err := bw.Flush(); err != nil {
+				nc.err = err
+			}
 		}
 		nc.mu.Unlock()
 	}
Fix nc.err setting in flusher to make sure it does not override current
value.