diff --git a/.github/workflows/full-check.yml b/.github/workflows/full-check.yml
index a20411227d..21a54429e4 100644
--- a/.github/workflows/full-check.yml
+++ b/.github/workflows/full-check.yml
@@ -54,9 +54,10 @@ jobs:
ANT_OPTS='-Dfile.encoding=UTF8 -Xmx2g' \
GWT_VERSION=HEAD-SNAPSHOT
# Run the ant tasks, disabling watchFileChanges to work around a github actions limitation
+ # Only Java 21 will run optimized tests
ant clean test dist doc \
-Dtest.jvmargs='-ea -Dgwt.watchFileChanges=false' \
- -Dtest.web.htmlunit.disable=true \
+ -Dtest.web.htmlunit.disable=${{ matrix.java-version != '21' }} \
-Dtest.nometa.htmlunit.disable=true \
-Dtest.emma.htmlunit.disable=true
diff --git a/user/build.xml b/user/build.xml
index c8aa603c0e..143a8c6524 100755
--- a/user/build.xml
+++ b/user/build.xml
@@ -15,7 +15,7 @@
-
+
@@ -433,7 +433,7 @@
value="${test.args.web.selenium} -draftCompile"/>
+ excludes="${gwt.junit.testcase.web.excludes},**/OptimizedOnly*"/>
+ excludes="${gwt.junit.testcase.web.excludes},**/OptimizedOnly*"/>