diff --git a/mm/migrate.c b/mm/migrate.c
index 941b89383cf3dec58a2fcfa7cca09559ddb4fc04..aecb1433cf3cc5c354624a77098a024f36b525a6 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -668,7 +668,8 @@ void migrate_page_states(struct page *newpage, struct page *page)
 
 	copy_page_owner(page, newpage);
 
-	mem_cgroup_migrate(page, newpage);
+	if (!PageHuge(page))
+		mem_cgroup_migrate(page, newpage);
 }
 EXPORT_SYMBOL(migrate_page_states);