diff --git a/scapy/sendrecv.py b/scapy/sendrecv.py
index 60421936ec29151ec1c281f8c326be3f5c76d183..b4b2fe03b7a27e9d2d33e854c54282e984c6b46a 100644
--- a/scapy/sendrecv.py
+++ b/scapy/sendrecv.py
@@ -125,6 +125,8 @@ def sndrcv(pks, pkt, timeout=None, inter=0, verbose=None, chainCC=False,
                         inp = bpf_select([pks])
                         if pks in inp:
                             r = pks.recv()
+                    elif conf.use_pcap:
+                        r = pks.nonblock_recv()
                     elif not isinstance(pks, StreamSocket) and (
                             FREEBSD or DARWIN or OPENBSD
                     ):