diff --git a/contrib/pg_upgrade/file.c b/contrib/pg_upgrade/file.c
index 35d7761eeb687242b955fa96f01701dbf1ae1727..2361e6ec742f7e442835676ca068a645b63c5449 100644
--- a/contrib/pg_upgrade/file.c
+++ b/contrib/pg_upgrade/file.c
@@ -245,7 +245,7 @@ pg_scandir(migratorContext *ctx, const char *dirname,
 	 * autoconf doesn't have a suitable builtin test and it seems overkill
 	 * to add one just to avoid a warning.
 	 */
-#elif defined(freebsd) || defined(__bsdi__) || defined(__darwin__) || defined(openbsd)
+#elif defined(__FreeBSD__) || defined(__bsdi__) || defined(__darwin__) || defined(__OpenBSD__)
 	/* no const */
 	return scandir(dirname, namelist, (int (*) (struct dirent *)) selector, NULL);
 #else