diff --git a/include/tradstdc.h b/include/tradstdc.h
index a70698be4..f5fb90c1b 100644
--- a/include/tradstdc.h
+++ b/include/tradstdc.h
@@ -429,7 +429,7 @@ typedef genericptr genericptr_t; /* (void *) or (char *) */
 #if __GNUC__ >= 3
 #define UNUSED __attribute__((unused))
 #define NORETURN __attribute__((noreturn))
-#if !defined(__linux__) || defined(GCC_URWARN)
+#if (!defined(__linux__) && !defined(__APPLE__)) || defined(GCC_URWARN)
 /* disable gcc's __attribute__((__warn_unused_result__)) since explicitly
    discarding the result by casting to (void) is not accepted as a 'use' */
 #define __warn_unused_result__ /*empty*/

