diff --git a/net/ceph/pagelist.c b/net/ceph/pagelist.c
index b8cbc456d0bb..13cb409a7bba 100644
--- a/net/ceph/pagelist.c
+++ b/net/ceph/pagelist.c
@@ -37,6 +37,7 @@ static int ceph_pagelist_addpage(struct ceph_pagelist *pl)
 	} else {
 		page = list_first_entry(&pl->free_list, struct page, lru);
 		list_del(&page->lru);
+		--pl->num_pages_free;
 	}
 	if (!page)
 		return -ENOMEM;