diff --git a/test/test-undeferred-warnings.script b/test/test-undeferred-warnings.script
index 5c163fcaade44cb295f4d12ca23fc431ba30d00b..5f871eb4f8e9f9cb865e64572ef6d646d48dc09c 100644
--- a/test/test-undeferred-warnings.script
+++ b/test/test-undeferred-warnings.script
@@ -14,11 +14,11 @@
 ;; GCL fails to warn; CMUCL, SBCL and presumably SCL defer warning to end of compilation unit;
 ;; SCL and XCL not actually tested
 
-(errors #+(or abcl allegro clisp clozure ecl lispworks mkcl xcl) compile-file-error
-        #+(or cmu gcl sbcl scl) null
+(errors #+(or abcl allegro clisp clozure (and ecl (not ecl-bytecmp)) lispworks mkcl xcl) compile-file-error
+        #+(or cmu (and ecl ecl-bytecmp) gcl sbcl scl) null
         (let ((*compile-file-warnings-behaviour* :error))
           (load-system :undefined-variables)))
-(errors #+(or abcl allegro clisp clozure ecl lispworks mkcl xcl) compile-file-error
-        #+(or cmu gcl sbcl scl) null
+(errors #+(or abcl allegro clisp clozure (and ecl (not ecl-bytecmp)) lispworks mkcl xcl) compile-file-error
+        #+(or cmu (and ecl ecl-bytecmp) gcl sbcl scl) null
         (let ((*compile-file-warnings-behaviour* :warning))
           (load-system :undefined-variables :force t)))