diff --git a/src/file.cr b/src/file.cr
index 240f98a1db84214d3dee568f8c4ffdd320fdf344..cce1a44e80184273cf0ed7e663cabc009dff087d 100644
--- a/src/file.cr
+++ b/src/file.cr
@@ -186,7 +186,8 @@ class File < FileDescriptorIO
 
   def self.each_line(filename)
     File.open(filename, "r") do |file|
-      file.each_line do |line|
+      buffered_io = BufferedIO.new(file)
+      buffered_io.each_line do |line|
         yield line
       end
     end