diff --git a/lib/modules/SSL.pmod/File.pike b/lib/modules/SSL.pmod/File.pike
index 6028b1119f5dcc286ce087c631f28b9d38a1a99f..ff68599c1ec9189b03f0576e1cf064e0631d3b89 100644
--- a/lib/modules/SSL.pmod/File.pike
+++ b/lib/modules/SSL.pmod/File.pike
@@ -823,8 +823,8 @@ string read (void|int length, void|int(0..1) not_all)
 			      !(conn->state & CONNECTION_peer_down), 0);
       }
       else {
-	if (sizeof (read_buffer) < length || zero_type (length))
-	  RUN_MAYBE_BLOCKING ((sizeof (read_buffer) < length || zero_type (length)) &&
+	if (sizeof (read_buffer) < length)
+	  RUN_MAYBE_BLOCKING ((sizeof (read_buffer) < length) &&
 			      !(conn->state & CONNECTION_peer_down),
 			      nonblocking_mode);
       }