diff --git a/mm/vmscan.c b/mm/vmscan.c
index 0b1aab411cb083edb26ce15e11e03cb3a3a082b4..8276a3a615ca0049515affe9adbd4a0480ce8c4a 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1196,7 +1196,7 @@ static unsigned long shrink_page_list(struct list_head *page_list,
 		if (PageSwapCache(page))
 			try_to_free_swap(page);
 		unlock_page(page);
-		putback_lru_page(page);
+		list_add(&page->lru, &ret_pages);
 		continue;
 
 activate_locked: