diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index f6a63f5b3827e9feb1b5dc1aae8e7f1a84c96c56..bf5e8945714944f896e2dc79b33b75a491da4794 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2694,7 +2694,7 @@ static int __mem_cgroup_try_charge(struct mm_struct *mm,
 		goto bypass;
 
 	if (unlikely(task_in_memcg_oom(current)))
-		goto bypass;
+		goto nomem;
 
 	if (gfp_mask & __GFP_NOFAIL)
 		oom = false;