diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c
index 6e894afa42499..a4c7c7630f48b 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)