--- function.c  (revision 192692)
+++ function.c  (working copy)
@@ -6249,9 +6249,18 @@ thread_prologue_and_epilogue_insns (void)
                    break;
                if (e)
                  {
+                    rtx note;
                    copy_bb = create_basic_block (NEXT_INSN (BB_END (e->src)),
                                                  NULL_RTX, e->src);
                    BB_COPY_PARTITION (copy_bb, e->src);
+                    /* Remove the region crossing note from jump at end of
+                       e->src if it exists.  */
+                    note = find_reg_note (BB_END (e->src),
REG_CROSSING_JUMP, NULL_RTX);
+                    if (note)
+                      /* There would also have been a barrier after
e->src, that
+                         is now after copy_bb, but that shouldn't be a
+                         problem?.  */
+                      remove_note (BB_END (e->src), note);
                  }
