diff --git a/tests/pcl-tests.asd b/tests/pcl-tests.asd
new file mode 100644
index 0000000000000000000000000000000000000000..9ed57440e3f7abfe1deb868f9f0f73d1e3f808f3
--- /dev/null
+++ b/tests/pcl-tests.asd
@@ -0,0 +1,39 @@
+;;; -*- Mode: lisp -*-
+
+(asdf:defsystem :pcl-tests
+  :pathname "pcl/"
+  :components
+  ((:file "pkg")
+   #+gerds-pcl
+   (:file "ctor"
+    :depends-on ("pkg"))
+   (:file "defclass"
+    :depends-on ("pkg"))
+   (:file "make-instance"
+    :depends-on ("pkg" #+gerds-pcl "ctor"))
+   (:file "reinitialize-instance"
+    :depends-on ("pkg" "make-instance"))
+   (:file "slot-value"
+    :depends-on ("pkg" "make-instance"))
+   (:file "slot-boundp"
+    :depends-on ("pkg" "make-instance"))
+   (:file "slot-missing"
+    :depends-on ("pkg" "make-instance"))
+   (:file "slot-accessors"
+    :depends-on ("pkg" "make-instance"))
+   (:file "slot-type"
+    :depends-on ("pkg" "slot-value"))
+   (:file "inline-access"
+    :depends-on ("pkg" "slot-type"))
+   (:file "method-combination"
+    :depends-on ("pkg"))
+   (:file "pv"
+    :depends-on ("pkg"))
+   (:file "defgeneric"
+    :depends-on ("pkg"))
+   (:file "defmethod"
+    :depends-on ("pkg"))
+   (:file "find-method"
+    :depends-on ("pkg"))
+   (:file "methods"
+    :depends-on ("pkg"))))
diff --git a/tests/pcl.lisp b/tests/pcl.lisp
index 2fbf90c67e1ca692f4d1492a6ec414625817440a..2a0553f01fd579e830f97cf685fe9b05b79c1b19 100644
--- a/tests/pcl.lisp
+++ b/tests/pcl.lisp
@@ -26,42 +26,11 @@
 		  (merge-pathnames #p"pcl/*.*"
 				   *load-truename*))))
 
-(asdf:defsystem :pcl-test
-  :pathname "pcl/"
-  :components
-  ((:file "pkg")
-   #+gerds-pcl
-   (:file "ctor"
-    :depends-on ("pkg"))
-   (:file "defclass"
-    :depends-on ("pkg"))
-   (:file "make-instance"
-    :depends-on ("pkg" #+gerds-pcl "ctor"))
-   (:file "reinitialize-instance"
-    :depends-on ("pkg" "make-instance"))
-   (:file "slot-value"
-    :depends-on ("pkg" "make-instance"))
-   (:file "slot-boundp"
-    :depends-on ("pkg" "make-instance"))
-   (:file "slot-missing"
-    :depends-on ("pkg" "make-instance"))
-   (:file "slot-accessors"
-    :depends-on ("pkg" "make-instance"))
-   (:file "slot-type"
-    :depends-on ("pkg" "slot-value"))
-   (:file "inline-access"
-    :depends-on ("pkg" "slot-type"))
-   (:file "method-combination"
-    :depends-on ("pkg"))
-   (:file "pv"
-    :depends-on ("pkg"))
-   (:file "defgeneric"
-    :depends-on ("pkg"))
-   (:file "defmethod"
-    :depends-on ("pkg"))
-   (:file "find-method"
-    :depends-on ("pkg"))
-   (:file "methods"
-    :depends-on ("pkg"))))
+;; Just smash it with our path so we don't accidentally look up
+;; pcl-files somewhere else.
+(setf asdf:*central-registry*
+      (list (make-pathname :directory (pathname-directory *load-pathname*))))
 
-(asdf:oos 'asdf:load-op :pcl-test)
+(require :pcl-tests)
+
+(asdf:oos 'asdf:load-op :pcl-tests)