diff --git a/src/plugins/sched/courier.cpp b/src/plugins/sched/courier.cpp
index 117abf7d7875b5135d4093f9e3ae21a38dd22af8..a71154ca3edd895ccc8394c90cea7bfd2960a6cf 100644
--- a/src/plugins/sched/courier.cpp
+++ b/src/plugins/sched/courier.cpp
@@ -88,6 +88,7 @@ courier_t::read_bytes( char *buf, const size_t size )
 	ptr = buf;
 	while ( bytes_remaining > 0 ) {
 		bytes_read = read( m_fd, ptr, bytes_remaining );
+		if ( bytes_read == 0 ) return 0;
 		if ( bytes_read < 0 ) return 0;
 		bytes_remaining -= bytes_read;
 		ptr += bytes_read;