diff --git a/gcc/testsuite/gcc.target/s390/oscbreak-1.c b/gcc/testsuite/gcc.target/s390/oscbreak-1.c
index fdf356c1fd0d415b8231911981322feb9507fe78..0c6125311320d560589bf8e11ef4ec0fa0a9277f 100644
--- a/gcc/testsuite/gcc.target/s390/oscbreak-1.c
+++ b/gcc/testsuite/gcc.target/s390/oscbreak-1.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O3 -mtune=z13 -dp" } */
+/* { dg-options "-O1 -mtune=z13 -fschedule-insns -dp" } */
 
 void
 foo (char *a, int b)
@@ -10,6 +10,7 @@ foo (char *a, int b)
     a[i] += 1;
 }
 
+/* We should not unconditionally emit an osc_break here.  */
 void
 bar (char *a, int b)
 {
@@ -22,4 +23,4 @@ bar (char *a, int b)
     }
 }
 
-/* { dg-final { scan-assembler "osc_break" } } */
+/* { dg-final { scan-assembler-times "osc_break" 1 } } */