diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c
index 09ff837731468911760ac71110b23f4f2405b7e1..6948fbcf5a13a2f46d40b955894ecea588f57908 100644
--- a/src/modules/files/efuns.c
+++ b/src/modules/files/efuns.c
@@ -172,7 +172,7 @@ void f_get_dir(INT32 args)
 
   get_all_args("get_dir",args,"%s",&path);
 
-#if defined(_REENTRANT) && defined(HAVE_READDIR_R)
+#if defined(_REENTRANT) && ( defined(HAVE_SOLARIS_READDIR_R) || defined(HAVE_HPUX_READDIR_R) || defined(HAVE_POSIX_READDIR_R))
   THREADS_ALLOW();
   dir=opendir(path);
   THREADS_DISALLOW();