diff --git a/src/sbbs3/zmodem.c b/src/sbbs3/zmodem.c
index 7c80cc0bb25bb1563aeb065aedfe7778b23d8b2e..f2275aef9b7bd9e1468e31a3427f42cf8ebeffcb 100644
--- a/src/sbbs3/zmodem.c
+++ b/src/sbbs3/zmodem.c
@@ -1383,7 +1383,8 @@ int zmodem_send_from(zmodem_t* zm, FILE* fp, ulong pos, ulong* sent)
 		if((ulong)ftell(fp) >= zm->current_file_size || n==0)	// can't use feof() here!
 			type = ZCRCE;
 
-		zmodem_send_data(zm, type, zm->tx_data_subpacket, n);
+		if(zmodem_send_data(zm, type, zm->tx_data_subpacket, n)!=0)
+			return(TIMEOUT);
 
 		if(sent!=NULL)
 			*sent+=n;