diff --git a/weed/util/http_util.go b/weed/util/http_util.go
index 7b28d3d91..56c294f0d 100644
--- a/weed/util/http_util.go
+++ b/weed/util/http_util.go
@@ -129,11 +129,10 @@ func GetBufferStream(url string, values url.Values, allocatedBytes []byte, eachB
 	if r.StatusCode != 200 {
 		return fmt.Errorf("%s: %s", url, r.Status)
 	}
-	bufferSize := len(allocatedBytes)
 	for {
 		n, err := r.Body.Read(allocatedBytes)
-		if n == bufferSize {
-			eachBuffer(allocatedBytes)
+		if n > 0 {
+			eachBuffer(allocatedBytes[:n])
 		}
 		if err != nil {
 			if err == io.EOF {