diff --git a/py/stream.c b/py/stream.c
index 8216596a13b52e22ad07f45acbc4b030230750ac..89b9e2af467a038cd22b761fbcae8207bca67612 100644
--- a/py/stream.c
+++ b/py/stream.c
@@ -211,16 +211,16 @@ void mp_stream_write_adaptor(void *self, const char *buf, size_t len) {
 // Works only with blocking streams
 mp_uint_t mp_stream_writeall(mp_obj_t stream, const byte *buf, mp_uint_t size, int *errcode) {
     mp_obj_base_t* s = (mp_obj_base_t*)MP_OBJ_TO_PTR(stream);
-    mp_uint_t sz = size;
-    while (sz > 0) {
+    mp_uint_t org_size = size;
+    while (size > 0) {
         mp_uint_t out_sz = s->type->stream_p->write(stream, buf, size, errcode);
         if (out_sz == MP_STREAM_ERROR) {
             return MP_STREAM_ERROR;
         }
         buf += out_sz;
-        sz -= out_sz;
+        size -= out_sz;
     }
-    return size;
+    return org_size;
 }
 
 STATIC mp_obj_t stream_write_method(mp_obj_t self_in, mp_obj_t arg) {