diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index a7165a60d0a7d4a688270d6cfc14f80b9af08dd5..b868def9bcc1e1f20c05406b1e9b90e0eae5d182 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -3392,6 +3392,7 @@ void mem_cgroup_replace_page_cache(struct page *oldpage,
 	 * the newpage may be on LRU(or pagevec for LRU) already. We lock
 	 * LRU while we overwrite pc->mem_cgroup.
 	 */
+	pc = lookup_page_cgroup(newpage);
 	__mem_cgroup_commit_charge(memcg, newpage, 1, pc, type, true);
 }