mmu->root_hpa = root;
        } else if (shadow_root_level == PT32E_ROOT_LEVEL) {
                for (i = 0; i < 4; ++i) {
-                       MMU_WARN_ON(VALID_PAGE(mmu->pae_root[i]));
+                       WARN_ON_ONCE(mmu->pae_root[i] &&
+                                    VALID_PAGE(mmu->pae_root[i]));
 
                        root = mmu_alloc_root(vcpu, i << (30 - PAGE_SHIFT),
                                              i << 30, PT32_ROOT_LEVEL, true);
         * write-protect the guests page table root.
         */
        if (mmu->root_level >= PT64_ROOT_4LEVEL) {
-               MMU_WARN_ON(VALID_PAGE(mmu->root_hpa));
-
                root = mmu_alloc_root(vcpu, root_gfn, 0,
                                      mmu->shadow_root_level, false);
                mmu->root_hpa = root;
        }
 
        for (i = 0; i < 4; ++i) {
-               MMU_WARN_ON(VALID_PAGE(mmu->pae_root[i]));
+               WARN_ON_ONCE(mmu->pae_root[i] && VALID_PAGE(mmu->pae_root[i]));
 
                if (mmu->root_level == PT32E_ROOT_LEVEL) {
                        if (!(pdptrs[i] & PT_PRESENT_MASK)) {