diff --git a/scapy/sendrecv.py b/scapy/sendrecv.py
index 5f6274b7deb46064f227106437a3ddd282adbb5e..000ddf4f48bbc06e8d898c2410f56f9d30331fb0 100644
--- a/scapy/sendrecv.py
+++ b/scapy/sendrecv.py
@@ -11,7 +11,7 @@ import errno
 import cPickle,os,sys,time,subprocess
 import itertools
 from select import select
-from scapy.arch.consts import DARWIN, FREEBSD
+from scapy.arch.consts import DARWIN, FREEBSD, OPENBSD
 from scapy.data import *
 from scapy.config import conf
 from scapy.packet import Gen
@@ -132,7 +132,7 @@ def sndrcv(pks, pkt, timeout = None, inter = 0, verbose=None, chainCC=0, retry=0
                                 inp = bpf_select(inmask)
                                 if pks in inp:
                                     r = pks.recv()
-                            elif not isinstance(pks, StreamSocket) and (FREEBSD or DARWIN):
+                            elif not isinstance(pks, StreamSocket) and (FREEBSD or DARWIN or OPENBSD):
                                 inp, out, err = select(inmask,[],[], 0.05)
                                 if len(inp) == 0 or pks in inp:
                                     r = pks.nonblock_recv()