diff --git a/asdf.lisp b/asdf.lisp
index 8237001140e130650a0cf2829e9346b63ab1b6ce..aa1066b3a45468dcd474a034eba7a76517ed1154 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1028,7 +1028,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)))