diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index ea7955a4bedefc6a64997b1038de1b7c851f2f5d..cf7461d5c4077448005f7b035ba688101c0d3923 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -1818,6 +1818,8 @@ static BYTE* telnet_interpret(sbbs_t* sbbs, BYTE* inbuf, int inlen,
 void sbbs_t::send_telnet_cmd(uchar cmd, uchar opt)
 {
 	char buf[16];
+	size_t sz;
+	ssize_t result;
 
 	if(telnet_mode&TELNET_MODE_OFF)
 		return;
@@ -1827,15 +1829,20 @@ void sbbs_t::send_telnet_cmd(uchar cmd, uchar opt)
             lprintf(LOG_DEBUG,"sending telnet cmd: %s"
                 ,telnet_cmd_desc(cmd));
 		sprintf(buf,"%c%c",TELNET_IAC,cmd);
-		(void)sendsocket(client_socket, buf, 2);
+		result = sendsocket(client_socket, buf, sz = 2);
 	} else {
 		if(startup->options&BBS_OPT_DEBUG_TELNET)
 			lprintf(LOG_DEBUG,"sending telnet cmd: %s %s"
 				,telnet_cmd_desc(cmd)
 				,telnet_opt_desc(opt));
 		sprintf(buf,"%c%c%c",TELNET_IAC,cmd,opt);
-		(void)sendsocket(client_socket, buf, 3);
+		result = sendsocket(client_socket, buf, sz = 3);
 	}
+	if(result != sz)
+		lprintf(LOG_ERR, "ERROR sending telnet command (%s): send returned %d instead of %d"
+			,telnet_cmd_desc(cmd)
+			,(int)result
+			,(int)sz);
 }
 
 bool sbbs_t::request_telnet_opt(uchar cmd, uchar opt, unsigned waitforack)