Index: uspace/lib/bithenge/src/file.c
===================================================================
--- uspace/lib/bithenge/src/file.c	(revision 1558d85ed379df2444da9a5e16727816dbb0a4b8)
+++ uspace/lib/bithenge/src/file.c	(revision f644472b977cc4e82d0187fb58bd63ad7bd5962a)
@@ -78,18 +78,9 @@
 	if (offset > blob->size)
 		return ELIMIT;
-	if (lseek(blob->fd, offset, SEEK_SET) < 0)
-		return errno == EINVAL ? EIO : errno;
 
-	ssize_t amount_read;
-	aoff64_t remaining_size = *size;
-	*size = 0;
-	do {
-		amount_read = read(blob->fd, buffer, remaining_size);
-		if (amount_read < 0)
-			return errno;
-		buffer += amount_read;
-		*size += amount_read;
-		remaining_size -= amount_read;
-	} while (remaining_size && amount_read);
+	ssize_t amount_read = read(blob->fd, &offset, buffer, *size);
+	if (amount_read < 0)
+		return errno;
+	*size += amount_read;
 	return EOK;
 }
