diff --git a/test/test-encodings.script b/test/test-encodings.script
index 3977c69901f3246fa9da4a6531521369a829a024..9ceb3b34c876e784d61eccffd9e426a3f049274d 100644
--- a/test/test-encodings.script
+++ b/test/test-encodings.script
@@ -31,7 +31,7 @@
          (loop :for o :in (output-files 'compile-op c)
                :do (delete-file-if-exists o)))
        ,@(when op
-           `((operate ',op ',(second def-test-system))))
+           `((operate ',op ',(second def-test-system) :force t)))
        ,@body
        (eval `(assert-equal (string-char-codes ,*lambda-string*)
                             (expected-char-codes ',',encoding))))))
diff --git a/test/test3.script b/test/test3.script
index f86806d7cc4680a7b65ceb3a8e847df6559c08ed..f5e77f676a3b1c0815eda782eda3ba2d411d9a83 100644
--- a/test/test3.script
+++ b/test/test3.script
@@ -6,6 +6,12 @@
 (delete-file-if-exists *fasl1*)
 (delete-file-if-exists *fasl2*)
 (DBG "should load file1 but not file2")
+
+;;; Use REQUIRE where we boast integration, load-system where not.
+#+(or abcl clisp clozure cmu ecl mkcl sbcl)
+(require :test3)
+#-(or abcl clisp clozure cmu ecl mkcl sbcl)
 (load-system :test3)
+
 (assert (probe-file *fasl1*))
 (assert (not (probe-file *fasl2*)))