diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index c9a3b2aafed7f945156138af8fba67c5dfe5befa..9a8e90e368e421bca367fb6957676296de85c900 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -5731,9 +5731,8 @@ NO_SSH:
 			result = connect(new_node->passthru_socket, (struct sockaddr *)&tmp_addr, tmp_addr_len);
 
 			if(result != 0) {
-				inet_ntop(tmp_addr.sin_family, &tmp_addr.sin_addr, addr_str, sizeof(addr_str));
 				lprintf(LOG_ERR,"Node %d !ERROR %d (%d) connecting to passthru socket: %s port %u"
-					,new_node->cfg.node_num, result, ERROR_VALUE, addr_str, htons(tmp_addr.sin_port));
+					,new_node->cfg.node_num, result, ERROR_VALUE, inet_ntoa(tmp_addr.sin_addr), htons(tmp_addr.sin_port));
 				close_socket(new_node->passthru_socket);
 				new_node->passthru_socket=INVALID_SOCKET;
 				close_socket(tmp_sock);
diff --git a/src/xpdev/netwrap.c b/src/xpdev/netwrap.c
index 38bf3d7d79cdca545cffe977b585346a57fc212c..40c807ed1878035483f46821dffd025f247897da 100644
--- a/src/xpdev/netwrap.c
+++ b/src/xpdev/netwrap.c
@@ -151,19 +151,25 @@ struct in6_addr parseIPv6Address(const char* value)
 
 const char* IPv4AddressToStr(uint32_t addr, char* dest, size_t size)
 {
-	const char* result;
-	struct in_addr in_addr;
-	in_addr.s_addr = htonl(addr);
-#if defined(__BORLANDC__) || defined(__MINGW32__)
-	result = inet_ntoa(in_addr); // deprecated function call
-	if(result == NULL)
+#if defined _WIN32
+	int result;
+	WSADATA wsaData;
+	SOCKADDR_IN sockaddr = {0};
+	sockaddr.sin_family = AF_INET;
+	sockaddr.sin_addr.s_addr = htonl(addr);
+
+	if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
 		return NULL;
-	strncpy(dest, result, size);
-	result = dest;
+	result = getnameinfo((SOCKADDR*)&sockaddr, sizeof(sockaddr), dest, size, NULL, 0, NI_NUMERICHOST);
+	WSACleanup();
+	if(result != 0)
+		return NULL;
+	return dest;
 #else
-	result = inet_ntop(AF_INET, &in_addr, dest, size);
+	struct in_addr in_addr;
+	in_addr.s_addr = htonl(addr);
+	return inet_ntop(AF_INET, &in_addr, dest, size);
 #endif
-	return result;
 }
 
 #if NETWRAP_TEST
@@ -180,6 +186,7 @@ int main(int argc, char** argv)
 
 	if(argc>1)
 		printf("%s\n", getHostNameByAddr(argv[1]));
+
 	return 0;
 }
 #endif