diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4
index 02c3545532f0691f8e6bdc59eec902d31526615c..a5b4ab3d01598d84a5e4742d39f3c436805335e6 100644
--- a/lustre/autoconf/lustre-core.m4
+++ b/lustre/autoconf/lustre-core.m4
@@ -1779,8 +1779,12 @@ AC_CHECK_FUNCS([inet_ntoa])
 # libsysio/src/readlink.c
 LC_READLINK_SSIZE_T
 
-# lvfs/prng.c
-AC_CHECK_HEADERS([linux/random.h])
+# lvfs/prng.c - depends on linux/types.h from liblustre/dir.c
+AC_CHECK_HEADERS([linux/random.h], [], [],
+                 [#ifdef HAVE_LINUX_TYPES_H
+                  # include <linux/types.h>
+                  #endif
+                 ])
 
 # utils/llverfs.c
 AC_CHECK_HEADERS([ext2fs/ext2fs.h])