diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 940e19603cf00287698eeb203aa552b0aec27d36..b88a87207893e0f0763a15d5b33d2d3753e47401 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -1004,6 +1004,7 @@ static in_addr_t resolve_ip(const char *inaddr)
 	char*    addr;
 	char     buf[128];
 	struct addrinfo* res;
+	struct addrinfo hints = {0};
 	in_addr_t ipa = INADDR_NONE;
 
 	SAFECOPY(buf, inaddr);
@@ -1022,7 +1023,8 @@ static in_addr_t resolve_ip(const char *inaddr)
 	if (!(*p))
 		return parseIPv4Address(addr);
 
-	if (getaddrinfo(addr, NULL, NULL, &res) != 0)
+	hints.ai_family = AF_INET;
+	if (getaddrinfo(addr, NULL, &hints, &res) != 0)
 		return INADDR_NONE;
 
 	if (res->ai_family == AF_INET)
diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 20bea4fad629d17e756a4f979553c6aba448d9f9..9033bcbeb144297648d39d87021715d9d40b5713 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -460,6 +460,7 @@ in_addr_t resolve_ip(char *addr)
 {
 	char*    p;
 	struct addrinfo* res;
+	struct addrinfo hints = {0};
 	in_addr_t ipa = INADDR_NONE;
 
 	if (*addr == 0)
@@ -471,7 +472,8 @@ in_addr_t resolve_ip(char *addr)
 	if (!(*p))
 		return parseIPv4Address(addr);
 
-	if (getaddrinfo(addr, NULL, NULL, &res) != 0)
+	hints.ai_family = AF_INET;
+	if (getaddrinfo(addr, NULL, &hints, &res) != 0)
 		return INADDR_NONE;
 
 	if (res->ai_family == AF_INET)