diff --git a/fs/affs/file.c b/fs/affs/file.c
index e5c5de6b85e5b9c8d4de9a5d3921cac9e7795bf3..196ee7f6fdc40e45235178b55abbc54461fbbb49 100644
--- a/fs/affs/file.c
+++ b/fs/affs/file.c
@@ -679,7 +679,7 @@ static int affs_write_end_ofs(struct file *file, struct address_space *mapping,
 	int written;
 
 	from = pos & (PAGE_SIZE - 1);
-	to = pos + len;
+	to = from + len;
 	/*
 	 * XXX: not sure if this can handle short copies (len < copied), but
 	 * we don't have to, because the page should always be uptodate here,