diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c7da7ddecdde937fb5cb1567c1dd04f09f9778d6..7e37721160e69ad9766603280b6b2dd956a35770 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
 
+	PR rtl-optimization/36419
+	* except.c (expand_resx_expr): Call do_pending_stack_adjust () before
+	the emitting jump insn.
+
 	PR target/36362
 	* gimplify.c (gimplify_expr) <case TRUTH_NOT_EXPR>: If *expr_p type
 	is not bool, boolify the whole *expr_p and convert to the desired type.
diff --git a/gcc/except.c b/gcc/except.c
index f8bacd5902bcd36cc92ee65c13e99014268cfc62..8ebfd7fa1db60c1ba3f28d6b7c127ab7ac837826 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -540,6 +540,7 @@ expand_resx_expr (tree exp)
 				     cfun->eh->region_array, region_nr);
 
   gcc_assert (!reg->resume);
+  do_pending_stack_adjust ();
   reg->resume = emit_jump_insn (gen_rtx_RESX (VOIDmode, region_nr));
   emit_barrier ();
 }