diff --git a/asdf.lisp b/asdf.lisp
index 90dde80d9774470b3edde87e0724cb000b6a700d..67070969dd2b0f25daf8673a1c5ac049f28db63c 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1029,7 +1029,9 @@ method.")
 
 (defun operate (operation-class system &rest args &key (verbose t) version
                 &allow-other-keys)
-  (let* ((op (apply #'make-instance operation-class
+  (let* ((*package* *package*)
+         (*readtable* *readtable*)
+         (op (apply #'make-instance operation-class
                     :original-initargs args
                     args))
          (*verbose-out* (if verbose *standard-output* (make-broadcast-stream)))