diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c
index 6e7ad63854c06162af8fba1496165dfaba74d4bf..e605f070610c21f451e1fe3aa4e55be41dfb6758 100644
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@ -390,8 +390,8 @@ static void default_trap_handler(struct pt_regs * regs, long interruption_code)
 {
         if (regs->psw.mask & PSW_MASK_PSTATE) {
 		local_irq_enable();
-		do_exit(SIGSEGV);
 		report_user_fault(interruption_code, regs);
+		do_exit(SIGSEGV);
 	} else
 		die("Unknown program exception", regs, interruption_code);
 }