diff --git a/py/stream.h b/py/stream.h
index b0f45e2f0271883aa65b3599c63b6dd14247cc10..7d439367547fd1aafedf9e1715ec4f8fc75c0e6d 100644
--- a/py/stream.h
+++ b/py/stream.h
@@ -80,6 +80,8 @@ mp_uint_t mp_stream_rw(mp_obj_t stream, void *buf, mp_uint_t size, int *errcode,
 #define mp_stream_write_exactly(stream, buf, size, err) mp_stream_rw(stream, (byte*)buf, size, err, MP_STREAM_RW_WRITE)
 #define mp_stream_read_exactly(stream, buf, size, err) mp_stream_rw(stream, buf, size, err, MP_STREAM_RW_READ)
 
+void mp_stream_write_adaptor(void *self, const char *buf, size_t len);
+
 #if MICROPY_STREAMS_NON_BLOCK
 // TODO: This is POSIX-specific (but then POSIX is the only real thing,
 // and anything else just emulates it, right?)
@@ -89,4 +91,3 @@ mp_uint_t mp_stream_rw(mp_obj_t stream, void *buf, mp_uint_t size, int *errcode,
 #endif
 
 #endif // __MICROPY_INCLUDED_PY_STREAM_H__
-void mp_stream_write_adaptor(void *self, const char *buf, size_t len);