diff --git a/tests/io/file-iter.py b/tests/io/file-iter.py
new file mode 100644
index 0000000000000000000000000000000000000000..48e8739966179bd79c5cefd9802c3028acf7ab43
--- /dev/null
+++ b/tests/io/file-iter.py
@@ -0,0 +1,3 @@
+f = open("io/data/file1")
+for l in f:
+    print(l)
diff --git a/unix/file.c b/unix/file.c
index af759447118055c78e6a5861dfcccf62b227bb61..bbe84dfb4948d17ed064f44edbf0260de4d8c83a 100644
--- a/unix/file.c
+++ b/unix/file.c
@@ -102,8 +102,8 @@ static const mp_obj_type_t rawfile_type = {
     "io.FileIO",
     .print = fdfile_print,
     .make_new = fdfile_make_new,
-    .getiter = NULL,
-    .iternext = NULL,
+    .getiter = mp_identity,
+    .iternext = mp_stream_unbuffered_iter,
     .stream_p = {
         .read = fdfile_read,
         .write = fdfile_write,