diff --git a/src/backend/port/dynloader/freebsd.c b/src/backend/port/dynloader/freebsd.c
index 74f0b005e566bf05ef25c647c1be82e22e0ebb47..829904303bf8561825f725fe1aedf596403408e5 100644
--- a/src/backend/port/dynloader/freebsd.c
+++ b/src/backend/port/dynloader/freebsd.c
@@ -82,9 +82,9 @@ BSD44_derived_dlsym(void *handle, const char *name)
 	return NULL;
 #else
 	void	   *vp;
+#ifndef __ELF__
 	char		buf[BUFSIZ];
 
-#ifndef __ELF__
 	if (*name != '_')
 	{
 		sprintf(buf, "_%s", name);