diff --git a/cpu/native/irq_cpu.c b/cpu/native/irq_cpu.c
index 733fbed6c8d6c887b8d21a53635ddbe266b11430..ac9ab3a43b99964286bc4c6a95b9ea41a865ef75 100644
--- a/cpu/native/irq_cpu.c
+++ b/cpu/native/irq_cpu.c
@@ -272,8 +272,7 @@ void native_irq_handler(void)
             DEBUG("ignoring SIGUSR1\n");
         }
         else {
-            DEBUG("XXX: no handler for signal %i\n", sig);
-            errx(1, "XXX: this should not have happened!\n");
+            errx(EXIT_FAILURE, "XXX: no handler for signal %i\nXXX: this should not have happened!\n", sig);
         }
     }
 
diff --git a/cpu/native/tramp.S b/cpu/native/tramp.S
index 729f030d43a4d965013ccbfb8e082d08d4102a4f..25f6de0a74009363334eb23663d1da25b00721be 100644
--- a/cpu/native/tramp.S
+++ b/cpu/native/tramp.S
@@ -18,8 +18,7 @@ __native_sig_leave_tramp:
     popal
     popfl
 
-    popl __native_saved_eip
-    jmp *-4(%esp)
+    ret
 #else
 .extern $_native_saved_eip
 .extern $_native_isr_ctx
@@ -44,6 +43,5 @@ _native_sig_leave_tramp:
     popal
     popfl
 
-    popl _native_saved_eip
-    jmp *-4(%esp)
+    ret
 #endif