diff --git a/testsuite/tests/driver/Makefile b/testsuite/tests/driver/Makefile
index 6150dfbce701ace3f35ce71d551228de16cff4f8..dc45e8486a5d1ee918dec12dbc42a4a9b39537e0 100644
--- a/testsuite/tests/driver/Makefile
+++ b/testsuite/tests/driver/Makefile
@@ -552,8 +552,8 @@ T7563:
 	-"$(TEST_HC)" $(TEST_HC_OPTS) -C T7563.hs
 
 # Below we set LC_ALL=C to request standard ASCII output in the resulting error
-# messages. Unfortunately, Mac OS X and Windows still use a Unicode encoding
-# even with LC_ALL=C, so we expect these tests to fail there.
+# messages. Unfortunately, versions of MacOS prior to Sonoma and Windows still
+# use a Unicode encoding even with LC_ALL=C, so we expect these tests to fail there.
 
 .PHONY: T6037
 T6037:
diff --git a/testsuite/tests/driver/all.T b/testsuite/tests/driver/all.T
index 1e657a0217b98f32134e9a9d9706747eb979dae5..a93b23be37946c5e3076cbf97861ac34781a2d84 100644
--- a/testsuite/tests/driver/all.T
+++ b/testsuite/tests/driver/all.T
@@ -178,16 +178,25 @@ test('T7060', [], makefile_test, [])
 test('T7130', normal, compile_fail, ['-fflul-laziness'])
 test('T7563', when(unregisterised(), skip), makefile_test, [])
 test('T6037',
-     # The testsuite doesn't know how to set a non-Unicode locale on Windows or Mac OS X
-     [when(opsys('mingw32'), expect_fail), when(opsys('darwin'), expect_fail)],
+     # The testsuite doesn't know how to set a non-Unicode locale on Windows or MacOS < Sonoma.
+     # Because in previous version of MacOS the test is still broken, we mark it as fragile.
+     [when(opsys('mingw32'), expect_fail),
+      when(opsys('darwin'), fragile(24161))
+     ],
      makefile_test, [])
 test('T2507',
-     # The testsuite doesn't know how to set a non-Unicode locale on Windows or Mac OS X
-     [when(opsys('mingw32'), expect_fail), when(opsys('darwin'), expect_fail)],
+     # The testsuite doesn't know how to set a non-Unicode locale on Windows or MacOS < Sonoma
+     # Because in previous version of MacOS the test is still broken, we mark it as fragile.
+     [when(opsys('mingw32'), expect_fail),
+      when(opsys('darwin'), fragile(24161))
+     ],
      makefile_test, [])
 test('T8959a',
-     # The testsuite doesn't know how to set a non-Unicode locale on Windows or Mac OS X
-     [when(opsys('mingw32'), expect_fail), when(opsys('darwin'), expect_fail)],
+     # The testsuite doesn't know how to set a non-Unicode locale on Windows or MacOS < Sonoma
+     # Because in previous version of MacOS the test is still broken, we mark it as fragile.
+     [when(opsys('mingw32'), expect_fail),
+      when(opsys('darwin'), fragile(24161))
+     ],
      makefile_test, [])
 
 # Requires readelf