diff --git a/cbits/HsUnix.c b/cbits/HsUnix.c
index 08cccd53453b9d32a4829ddd2b632f97b7a19be7..7c72a341cbbdabeea820b4acd375ffbd1da30e17 100644
--- a/cbits/HsUnix.c
+++ b/cbits/HsUnix.c
@@ -110,7 +110,7 @@ char *__hscore_d_name( struct dirent* d )
 
 void __hscore_free_dirent(struct dirent *dEnt)
 {
-#if HAVE_READDIR_R
+#if HAVE_READDIR_R && USE_READDIR_R
   free(dEnt);
 #endif
 }