Index: uspace/srv/vfs/vfs_ops.c
===================================================================
--- uspace/srv/vfs/vfs_ops.c	(revision 15b9970755facf113d63730929254f4399453ee0)
+++ uspace/srv/vfs/vfs_ops.c	(revision acfdcb03f3a5a54fddb81d5f3ec4ac26041a6261)
@@ -371,5 +371,5 @@
 	vfs_file_t *file = vfs_file_get(fd);
 	file->node = node;
-	if (oflag & O_APPEND)
+	if (oflag & O_APPEND) 
 		file->append = true;
 
@@ -471,10 +471,12 @@
 	else {
 		/* Update the cached version of node's size. */
-		file->node->size = IPC_GET_ARG2(answer); 
+		if (rc == EOK)
+			file->node->size = IPC_GET_ARG2(answer); 
 		rwlock_write_unlock(&file->node->contents_rwlock);
 	}
 
 	/* Update the position pointer and unlock the open file. */
-	file->pos += bytes;
+	if (rc == EOK)
+		file->pos += bytes;
 	futex_up(&file->lock);
 
