diff --git a/serial/serialposix.py b/serial/serialposix.py
index 2476cb0..8679e1e 100644
--- a/serial/serialposix.py
+++ b/serial/serialposix.py
@@ -475,9 +475,11 @@
         if not self.is_open:
             raise portNotOpenError
         read = bytearray()
+        timeout = self._timeout
         while len(read) < size:
             try:
-                ready, _, _ = select.select([self.fd], [], [], self._timeout)
+                start_time = time.time()
+                ready, _, _ = select.select([self.fd], [], [], timeout)
                 # If select was used with a timeout, and the timeout occurs, it
                 # returns with empty lists -> thus abort read operation.
                 # For timeout == 0 (non-blocking operation) also abort when
@@ -493,6 +495,10 @@
                     # but reading returns nothing.
                     raise SerialException('device reports readiness to read but returned no data (device disconnected or multiple access on port?)')
                 read.extend(buf)
+                if timeout is not None:
+                    timeout -= time.time() - start_time
+                    if timeout <= 0:
+                        break
             except OSError as e:
                 # this is for Python 3.x where select.error is a subclass of
                 # OSError ignore EAGAIN errors. all other errors are shown
