diff --git a/mm/mremap.c b/mm/mremap.c
index d4e99602531521fb9ce81da90cc7ceaf9533d4e9..9043076915f9719895a2ce778803e14b6b29ba17 100644
--- a/mm/mremap.c
+++ b/mm/mremap.c
@@ -137,7 +137,8 @@ move_one_page(struct vm_area_struct *vma, unsigned long old_addr,
 				error = -ENOMEM;
 			pte_unmap_nested(src);
 		}
-		pte_unmap(dst);
+		if (dst)
+			pte_unmap(dst);
 	}
 	spin_unlock(&mm->page_table_lock);
 	pte_chain_free(pte_chain);