diff --git a/scapy/sendrecv.py b/scapy/sendrecv.py
index 37a42940611955735c87c93c6b42b8a7b28cd67b..292274099bfc9ac4a59a0ab3e75e7249b076400a 100644
--- a/scapy/sendrecv.py
+++ b/scapy/sendrecv.py
@@ -19,6 +19,7 @@ from utils import warning,get_temp_file,PcapReader,wrpcap
 import plist
 from error import log_runtime,log_interactive
 from base_classes import SetGen
+from supersocket import StreamSocket
 
 #################
 ## Debug class ##
@@ -123,7 +124,7 @@ def sndrcv(pks, pkt, timeout = None, inter = 0, verbose=None, chainCC=0, retry=0
                                 if remaintime <= 0:
                                     break
                             r = None
-                            if arch.FREEBSD or arch.DARWIN:
+                            if not isinstance(pks, StreamSocket) and (arch.FREEBSD or arch.DARWIN):
                                 inp, out, err = select(inmask,[],[], 0.05)
                                 if len(inp) == 0 or pks in inp:
                                     r = pks.nonblock_recv()