diff --git a/arch/sparc/mm/sun4c.c b/arch/sparc/mm/sun4c.c
index a57a366e339ac6cb3796357087ca20c088f90558..79d60d86f6f8785b11dbf09c75bb8ef6ecc5f3ae 100644
--- a/arch/sparc/mm/sun4c.c
+++ b/arch/sparc/mm/sun4c.c
@@ -1999,6 +1999,9 @@ void sun4c_update_mmu_cache(struct vm_area_struct *vma, unsigned long address, p
 	unsigned long flags;
 	int pseg;
 
+	if (vma->vm_mm->context == NO_CONTEXT)
+		return;
+
 	local_irq_save(flags);
 	address &= PAGE_MASK;
 	if ((pseg = sun4c_get_segmap(address)) == invalid_segment) {