diff --git a/gcc/testsuite/gcc.dg/vect/pr125509.c b/gcc/testsuite/gcc.dg/vect/pr125509.c
new file mode 100644
index 0000000000000000000000000000000000000000..b5c479fc01a60d5dc8e8bd5cf0f65abddda5128d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/pr125509.c
@@ -0,0 +1,31 @@
+/* { dg-add-options vect_early_break } */
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_early_break } */
+/* { dg-require-effective-target vect_int } */
+
+struct a {
+  char *b;
+  long c;
+} e;
+long d;
+char f;
+static bool g(char *h, long j) {
+  auto i = h + j - 1;
+  for (; h != i; h++)
+    if (*h)
+      return false;
+  return f;
+}
+void k();
+static void l(struct a h) {
+  if (!g(h.b, h.c))
+    if (d)
+      k();
+}
+void m() {
+  if (e.c != 1)
+    l(e);
+}
+
+/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
+/* { dg-final { scan-tree-dump "early break does not require epilog" "vect" } } */
diff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc
index a6d58d6798cda34ab7cd6657f1b2e5b9362af395..9c13a14d3533fd2f8c1e4918b22370f63c2d0eb4 100644
--- a/gcc/tree-vect-loop-manip.cc
+++ b/gcc/tree-vect-loop-manip.cc
@@ -3506,12 +3506,11 @@ vect_do_peeling (loop_vec_info loop_vinfo, tree niters, tree nitersm1,
       /* Peel prolog and put it on preheader edge of loop.  */
       edge scalar_e = LOOP_VINFO_SCALAR_MAIN_EXIT (loop_vinfo);
       edge prolog_e = NULL;
-      bool early_break_peel_p = LOOP_VINFO_EARLY_BRK_NEEDS_EPILOG (loop_vinfo);
       prolog = slpeel_tree_duplicate_loop_to_edge_cfg (loop, exit_e,
 						       scalar_loop, scalar_e,
 						       e, &prolog_e, true, NULL,
 						       uncounted_p, uncounted_p,
-						       early_break_peel_p);
+						       false);
 
       gcc_assert (prolog);
       prolog->force_vectorize = false;
@@ -3678,7 +3677,6 @@ vect_do_peeling (loop_vec_info loop_vinfo, tree niters, tree nitersm1,
 	  /* Handle any remaining dominator updates needed after
 	     inserting the loop skip edge above.  */
 	  if (LOOP_VINFO_EARLY_BREAKS (loop_vinfo)
-	      && LOOP_VINFO_EARLY_BRK_NEEDS_EPILOG (loop_vinfo)
 	      && prolog_peeling)
 	    {
 	      /* Adding a skip edge to skip a loop with multiple exits

