diff --git a/ChangeLog b/ChangeLog
index 34f6133422..cc2541cd65 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,7 @@
(malloc, realloc): Don't #undef; no longer needed.
* lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
* lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+ * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
careadlinkat: rename members to avoid problem
* lib/allocator.h (struct allocator): Rename members from
diff --git a/lib/setenv.c b/lib/setenv.c
index 7c061925dd..173d95f28b 100644
--- a/lib/setenv.c
+++ b/lib/setenv.c
@@ -15,6 +15,7 @@
along with this program. If not, see . */
#if !_LIBC
+# define _GL_USE_STDLIB_ALLOC 1
# include
#endif
@@ -64,10 +65,6 @@ __libc_lock_define_initialized (static, envlock)
# define clearenv __clearenv
# define tfind __tfind
# define tsearch __tsearch
-#else
-/* Use the system functions, not the gnulib overrides in this file. */
-# undef malloc
-# undef realloc
#endif
/* In the GNU C library implementation we try to be more clever and