added additional constraint since errno could be stale
diff --git a/tests/async_shutdown.c b/tests/async_shutdown.c
index 4c44d89..5b853fb 100644
--- a/tests/async_shutdown.c
+++ b/tests/async_shutdown.c
@@ -53,7 +53,7 @@
         therefore, the datatype of 'msg' is irrelevant. */
     rc = nn_recv (s, &msg, sizeof(msg), 0);
 
-    errno_assert (nn_errno () == EBADF);
+    errno_assert (rc == -1 && nn_errno () == EBADF);
 }
 
 int main (int argc, const char *argv[])