diff --git a/tools/hemcom.lisp b/tools/hemcom.lisp
index d1b7e5d538d4f6e8d66684bcc7e0934f857bf896..6511d85ff4b7c5a74a45e3e11eb821e1722dca76 100644
--- a/tools/hemcom.lisp
+++ b/tools/hemcom.lisp
@@ -16,14 +16,15 @@
 
 ;;; Stuff to set up the packages Hemlock uses.
 ;;;
-(in-package "HEMLOCK-INTERNALS"
-	    :nicknames '("HI")
-	    :use '("LISP" "EXTENSIONS" "SYSTEM"))
+(unless (find-package "HEMLOCK-INTERNALS")
+  (make-package "HEMLOCK-INTERNALS"
+		:nicknames '("HI")
+		:use '("LISP" "EXTENSIONS" "SYSTEM")))
 
-;;;
-(in-package "HEMLOCK"
-	    :nicknames '("ED")
-	    :use '("LISP" "HEMLOCK-INTERNALS" "EXTENSIONS" "SYSTEM"))
+(unless (find-package "HEMLOCK")
+  (make-package "HEMLOCK"
+		:nicknames '("ED")
+		:use '("LISP" "HEMLOCK-INTERNALS" "EXTENSIONS" "SYSTEM")))
 ;;;
 (export 'c::compile-from-stream (find-package "C"))