diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 986b1da9e1a903fcc37403240956ed7f79e75f99..9c6b4483e0442f3d4783b99c1b1c73fd0bba0175 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* reorg.c (relax_delay_slots): Check that the jump is
+	conditional before trying to invert it.
+
 2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
 
 	* bb-reorder.c (max_entry_frequency, max_entry_frequency):
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 763f07b86cbd254597f7518fc9e197fb8a64d28e..09c8ea583c5d4ed3fc6f24ed6bf8b4699c5abdca 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -3379,6 +3379,7 @@ relax_delay_slots (rtx first)
 	 annulled jumps, though.  Again, don't convert a jump to a RETURN
 	 here.  */
       if (! INSN_ANNULLED_BRANCH_P (delay_insn)
+	  && any_condjump_p (delay_insn)
 	  && next && JUMP_P (next)
 	  && (simplejump_p (next) || GET_CODE (PATTERN (next)) == RETURN)
 	  && next_active_insn (target_label) == next_active_insn (next)