diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cb2b57d1745afeea0b6864bb85416e01ca2bb74c..737ab285be38d3434a1cc2911e3203c98ff0a831 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+	* sched-rgn.c (find_rgns): Initialize current_edge correctly.
+
 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
 
 	* doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index cb5e52d48a652df4ce3cd00944d57f15ab5b810a..f3444ec89913579ab1a52acdebd7522173f85490 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -618,7 +618,8 @@ find_rgns (struct edge_list *edge_list, dominance_info dom)
   int *max_hdr, *dfs_nr, *stack, *degree;
   char no_loops = 1;
   int node, child, loop_head, i, head, tail;
-  int count = 0, sp, idx = 0, current_edge = out_edges[0];
+  int count = 0, sp, idx = 0;
+  int current_edge = out_edges[ENTRY_BLOCK_PTR->succ->dest->index];
   int num_bbs, num_insns, unreachable;
   int too_large_failure;
   basic_block bb;