diff --git a/mm/migrate.c b/mm/migrate.c
index c3cb566af3e273a92e8353835b1cd6d03d64c7e3..7452a00bbb50c134b529c1d024dfc53fcfca093b 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1075,7 +1075,7 @@ out:
 	if (rc != MIGRATEPAGE_SUCCESS && put_new_page)
 		put_new_page(new_hpage, private);
 	else
-		put_page(new_hpage);
+		putback_active_hugepage(new_hpage);
 
 	if (result) {
 		if (rc)