diff --git a/fs/fscache/object-list.c b/fs/fscache/object-list.c
index 1e1f286dd70eeb0ea7e98b46012e378280e0cf58..4a8eb31c53381f74fca4a1dfad3ed0f19ef4ed3b 100644
--- a/fs/fscache/object-list.c
+++ b/fs/fscache/object-list.c
@@ -103,7 +103,7 @@ static struct fscache_object *fscache_objlist_lookup(loff_t *_pos)
 	/* banners (can't represent line 0 by pos 0 as that would involve
 	 * returning a NULL pointer) */
 	if (pos == 0)
-		return (struct fscache_object *) ++(*_pos);
+		return (struct fscache_object *)(long)++(*_pos);
 	if (pos < 3)
 		return (struct fscache_object *)pos;