diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c
index 6e894afa424991168acf52d90d8cf47fb8af46c8..a4c7c7630f48b1745a58a3e3cc8928faa7ef4120 100644
--- a/arch/parisc/mm/fault.c
+++ b/arch/parisc/mm/fault.c
@@ -289,7 +289,7 @@ void do_page_fault(struct pt_regs *regs, unsigned long code,
 	mmap_read_lock(mm);
 	vma = find_vma_prev(mm, address, &prev_vma);
 	if (!vma || address < vma->vm_start) {
-		if (!prev || !(prev->vm_flags & VM_GROWSUP))
+		if (!prev_vma || !(prev_vma->vm_flags & VM_GROWSUP))
 			goto bad_area;
 		vma = expand_stack(mm, address);
 		if (!vma)