diff --git a/lib/modules/Stdio.pmod/module.pmod b/lib/modules/Stdio.pmod/module.pmod
index 77df1ee6b2e2ba6fd5a15454e46484086fa6d1bd..e8a3d435fafa8077caf31ec3daaa828e4c82a24c 100644
--- a/lib/modules/Stdio.pmod/module.pmod
+++ b/lib/modules/Stdio.pmod/module.pmod
@@ -1,4 +1,4 @@
-// $Id: module.pmod,v 1.69 1999/11/22 23:17:31 noring Exp $
+// $Id: module.pmod,v 1.70 1999/11/30 07:40:11 hubbe Exp $
 
 import String;
 
@@ -537,6 +537,11 @@ class FILE {
       if (!query_num_arg()) {
 	bytes = 0x7fffffff;
       }
+
+      /* Optimization - Hubbe */
+      if(!strlen(b) && bytes > BUFSIZE)
+	return ::read(bytes, now);
+
       while(strlen(b) - bpos < bytes)
 	if(!get_data()) {
 	  // EOF.