diff --git a/src/sbbs3/mxlookup.c b/src/sbbs3/mxlookup.c
index ef0bf2bf02030521699313b4de3b4549a19f28e1..495e71d12c5721e31d84c84c9b062b78d29e002c 100644
--- a/src/sbbs3/mxlookup.c
+++ b/src/sbbs3/mxlookup.c
@@ -225,7 +225,14 @@ int dns_getmx(char* name, char* mx, char* mx2
 		len-=sizeof(msghdr.length);
 	}
 
-	send(sock,msg+offset,len,0);
+	i=send(sock,msg+offset,len,0);
+	if(i!=len) {
+		if(i==SOCKET_ERROR)
+			result=ERROR_VALUE;
+		else
+			result=-2;
+		return(result);
+	}
 
 	tv.tv_sec=timeout;
 	tv.tv_usec=0;