diff --git a/changelog b/changelog
index 6947a7a..3f17380 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090922 tpd src/axiom-website/patches.html 20090922.05.tpd.patch
+20090922 tpd src/interp/category.lisp cleanup
 20090922 tpd src/axiom-website/patches.html 20090922.04.tpd.patch
 20090922 tpd src/interp/profile.lisp cleanup
 20090922 tpd src/axiom-website/patches.html 20090922.03.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 7892d95..b871ce2 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2018,5 +2018,7 @@ src/interp/c-util.lisp cleanup<br/>
 src/interp/apply.lisp cleanup<br/>
 <a href="patches/20090922.04.tpd.patch">20090922.04.tpd.patch</a>
 src/interp/profile.lisp cleanup<br/>
+<a href="patches/20090922.05.tpd.patch">20090922.05.tpd.patch</a>
+src/interp/category.lisp cleanup<br/>
  </body>
 </html>
diff --git a/src/interp/category.lisp.pamphlet b/src/interp/category.lisp.pamphlet
index 2a36fe6..983ab45 100644
--- a/src/interp/category.lisp.pamphlet
+++ b/src/interp/category.lisp.pamphlet
@@ -136,6 +136,7 @@ It is set in init.lisp.pamphlet.
 
 (DEFUN |sigParams,Prepare2| (|v| |l|)
   (PROG (|w|)
+  (declare (special |$PrimitiveDomainNames|))
     (RETURN
       (SEQ (IF (EQ |v| '$) (EXIT |l|)) (IF (STRINGP |v|) (EXIT |l|))
            (IF (ATOM |v|) (EXIT (CONS |v| |l|)))
@@ -536,8 +537,8 @@ Subsumption code (for operators)
  
 (DEFUN |SigListUnion| (|extra| |original|)
   (PROG (|ofn| |osig| |opred| |xfn| |xsig| |xpred| |ximplem| |epred|
-               |eimplem| |esig| |e| |ISTMP#1| |q| |ISTMP#2| |ISTMP#3|
-               |index|)
+               |eimplem| |esig| |ISTMP#1| |q| |ISTMP#2| |ISTMP#3| |index|)
+  (declare (special |$NewCatVec|))
     (RETURN
       (SEQ (PROGN
              (DO ((G166422 |original| (CDR G166422)) (|o| NIL))
@@ -580,7 +581,7 @@ Subsumption code (for operators)
                                              (|MachineLevelSubsume|
                                               (QCAR |o|) (QCAR |x|)))
                                             (MAKESTRING
-                                             "Source level subsumption not implemented"))
+                                   "Source level subsumption not implemented"))
                                            ('T
                                             (SPADLET |extra|
                                              (|delete| |x| |extra|)))))))))))
@@ -1148,6 +1149,7 @@ Subsumption code (for operators)
  
 (DEFUN |SourceLevelSubset| (|a| |b|)
   (PROG (|blist| |a1| |b1|)
+  (declare (special |$noSubsets| |$noSubsumption|))
     (RETURN
       (COND
         ((BOOT-EQUAL |a| |b|) 'T)
@@ -1385,6 +1387,7 @@ Ancestor chasing code
 ;  CAR compMakeCategoryObject(x,$e)
  
 (DEFUN |CatEval| (|x|)
+  (declare (special |$e| |$CategoryFrame| |$InteractiveMode|))
   (COND
     ((REFVECP |x|) |x|)
     (|$InteractiveMode|
@@ -1742,7 +1745,7 @@ copy.
             |CondList| |s| |i| |a| |n| |copied| |originalvector|
             |globalDomains| |newpred| |v| |attl| |sigl|
             |FundamentalAncestors| |pName| |c|)
-    (DECLARE (SPECIAL |$NewCatVec|))
+    (DECLARE (SPECIAL |$NewCatVec| |$Information| |$Attributes|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |$NewCatVec| NIL)
