diff --git a/src/xpdev/sockwrap.c b/src/xpdev/sockwrap.c
index 5e0e527f052bda6f658271a66c421d4869be378c..bb458a4a91be780b8fb6f824f3a198a12ddf59bd 100644
--- a/src/xpdev/sockwrap.c
+++ b/src/xpdev/sockwrap.c
@@ -181,11 +181,11 @@ off_t sendfilesocket(int sock, int file, off_t *offset, off_t count)
 
 	while (total < count) {
 		ssize_t rd = read(file, buf, sizeof(buf));
+		ssize_t sent = 0;
 		if (rd < 0) // Error
 			return(-1);
 		if (rd == 0) // EOF
 			break;
-		ssize_t sent = 0;
 		while (sent < rd) {
 			ssize_t wr = sendsocket(sock, buf + sent, rd - sent);
 			if (wr > 0) {