diff --git a/libc/dns/net/getaddrinfo.c b/libc/dns/net/getaddrinfo.c
index cc8b8b4..13000f7 100644
--- a/libc/dns/net/getaddrinfo.c
+++ b/libc/dns/net/getaddrinfo.c
@@ -108,9 +108,9 @@
 #include <stdarg.h>
 #include "nsswitch.h"
 
-#ifdef ANDROID_CHANGES
+#if defined(__BIONIC__)
 #include <sys/system_properties.h>
-#endif /* ANDROID_CHANGES */
+#endif
 
 typedef union sockaddr_union {
     struct sockaddr     generic;
@@ -325,7 +325,7 @@
 {
 	struct addrinfo *next;
 
-#if __ANDROID__
+#if defined(__BIONIC__)
 	if (ai == NULL) return;
 #else
 	_DIAGASSERT(ai != NULL);
diff --git a/libc/dns/resolv/res_init.c b/libc/dns/resolv/res_init.c
index 713b6e0..a5413dd 100644
--- a/libc/dns/resolv/res_init.c
+++ b/libc/dns/resolv/res_init.c
@@ -166,23 +166,23 @@
 /* This function has to be reachable by res_data.c but not publicly. */
 int
 __res_vinit(res_state statp, int preinit) {
-#if !defined(__ANDROID__)
+#if !defined(__BIONIC__)
 	register FILE *fp;
 #endif
 	register char *cp, **pp;
-#if !defined(__ANDROID__)
+#if !defined(__BIONIC__)
 	register int n;
 #endif
 	char buf[BUFSIZ];
 	int nserv = 0;    /* number of nameserver records read from file */
-#if !defined(__ANDROID__)
+#if !defined(__BIONIC__)
 	int haveenv = 0;
 #endif
 	int havesearch = 0;
 #ifdef RESOLVSORT
 	int nsort = 0;
 #endif
-#if !defined(__ANDROID__)
+#if !defined(__BIONIC__)
 	char *net;
 #endif
 	int dots;
@@ -243,7 +243,9 @@
 	statp->nsort = 0;
 	res_setservers(statp, u, nserv);
 
-#if !defined(__ANDROID__) /* IGNORE THE ENVIRONMENT */
+#if defined(__BIONIC__)
+	/* Ignore the environment. */
+#else
 	/* Allow user to override the local domain definition */
 	if ((cp = getenv("LOCALDOMAIN")) != NULL) {
 		(void)strncpy(statp->defdname, cp, sizeof(statp->defdname) - 1);
