diff --git a/include/asm-ppc64/posix_types.h b/include/asm-ppc64/posix_types.h
index ff8ba3a73050599134f10ba24cc642226c3d5b7d..516de7201b5d09a00c3fe7736e6e327452da7b6d 100644
--- a/include/asm-ppc64/posix_types.h
+++ b/include/asm-ppc64/posix_types.h
@@ -48,7 +48,7 @@ typedef struct {
 
 #define	__FD_SET(d, set)	((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
 #define	__FD_CLR(d, set)	((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
-#define	__FD_ISSET(d, set)	((set)->fds_bits[__FDELT(d)] & __FDMASK(d))
+#define	__FD_ISSET(d, set)	(((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0)
 #define	__FD_ZERO(set)	\
   ((void) memset ((__ptr_t) (set), 0, sizeof (__kernel_fd_set)))