* register it here without waiting a page fault that
                 * may not happen any time soon.
                 */
-               if (!(*vm_flags & VM_NO_KHUGEPAGED) &&
-                               khugepaged_enter_vma_merge(vma, *vm_flags))
+               if (khugepaged_enter_vma_merge(vma, *vm_flags))
                        return -ENOMEM;
                break;
        case MADV_NOHUGEPAGE:
        if (!transhuge_vma_enabled(vma, vm_flags))
                return false;
 
+       if (vm_flags & VM_NO_KHUGEPAGED)
+               return false;
+
        if (vma->vm_file && !IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) -
                                vma->vm_pgoff, HPAGE_PMD_NR))
                return false;
                return false;
        if (vma_is_temporary_stack(vma))
                return false;
-       return !(vm_flags & VM_NO_KHUGEPAGED);
+
+       return true;
 }
 
 int __khugepaged_enter(struct mm_struct *mm)