diff --git a/gtests/net/packetdrill/run.c b/gtests/net/packetdrill/run.c
index 574c0cca40a31a987a2eda05539eda819792953c..f033a3181fbf45caa55c84dbabd6dd5592d7383e 100644
--- a/gtests/net/packetdrill/run.c
+++ b/gtests/net/packetdrill/run.c
@@ -328,7 +328,7 @@ void wait_for_event(struct state *state)
 		 * that we know has a fine-grained usleep(), then
 		 * usleep() instead of spinning on the CPU.
 		 */
-#ifdef linux
+#if defined(linux) || defined(__FreeBSD__)
 		/* Since the scheduler may not wake us up precisely
 		 * when we tell it to, sleep until just before the
 		 * event we're waiting for and then spin.