diff --git a/ChangeLog b/ChangeLog
index 99fb72f244b0ee4e638e3bec28ea931a9f0a5939..0416b59c082aca1374b52cace1172bb1acfe977f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2022-08-05  Niels Möller  <nisse@lysator.liu.se>
+
+	* getopt.c: Include stdlib.h and unistd.h unconditionally,
+	similarly to the gnulib version of this file.
+
 2022-08-04  Niels Möller  <nisse@lysator.liu.se>
 
 	From Brad Smith:
diff --git a/getopt.c b/getopt.c
index 6be0aafa2801c1540215467f5d8eb8e29950f55f..9d29de7c5ab1060864e94f5d7f447b0c25672d3d 100644
--- a/getopt.c
+++ b/getopt.c
@@ -30,6 +30,10 @@
 #endif
 
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
 
 /* Comment out all this code if we are using the GNU C Library, and are not
    actually compiling the library itself.  This code is part of the GNU C
@@ -50,17 +54,6 @@
 #ifndef ELIDE_CODE
 
 
-/* This needs to come after some library #include
-   to get __GNU_LIBRARY__ defined.  */
-#ifdef	__GNU_LIBRARY__
-/* Don't include stdlib.h for non-GNU C libraries because some of them
-   contain conflicting prototypes for getopt.  */
-# include <stdlib.h>
-# include <unistd.h>
-#endif	/* GNU C library.  */
-
-#include <string.h>
-
 #ifdef VMS
 # include <unixlib.h>
 #endif