diff --git a/abuild-tar.c b/abuild-tar.c
index c652e04e1e6c660afa85f9382042fd94f43e6cb0..1293ddc217d6e15d7520734758f54d1676afe765 100644
--- a/abuild-tar.c
+++ b/abuild-tar.c
@@ -159,6 +159,7 @@ static ssize_t full_splice(int from_fd, int to_fd, size_t count)
 		if (n <= 0)
 			break;
 		count -= n;
+		total += n;
 	} while (1);
 
 	if (total == 0 && n < 0)