diff --git a/books/bookvol9.pamphlet b/books/bookvol9.pamphlet
index 7292dd4..03da229 100644
--- a/books/bookvol9.pamphlet
+++ b/books/bookvol9.pamphlet
@@ -6459,6 +6459,7 @@ The compDefine function expects three arguments:
 \defsdollar{compDefineCapsuleFunction}{functionLocations}
 \begin{chunk}{defun compDefineCapsuleFunction}
 (defun |compDefineCapsuleFunction| (df m oldE |$prefix| |$formalArgList|)
+ ; df is ['DEF,form,signature,specialCases,body]
  (declare (special |$prefix| |$formalArgList|))
  (let (|$form| |$op| |$functionStats| |$argumentConditionList| |$finalEnv|
        |$initCapsuleErrorCount| |$insideCapsuleFunctionIfTrue|
@@ -6537,13 +6538,10 @@ The compDefine function expects three arguments:
 ; 6. compile body in environment with extended environment
    (setq rettype (|resolve| (car signaturep) |$returnMode|))
    (setq localOrExported
-    (cond
-     ((and (null (|member| |$op| |$formalArgList|))
-           (progn
-             (setq tmp2 (|getmode| |$op| e))
-             (and (consp tmp2) (eq (qfirst tmp2) '|Mapping|))))
-       '|local|)
-      (t '|exported|)))
+    (if (and (null (|member| |$op| |$formalArgList|))
+             (eq (first tmp2) '|Mapping|))
+       '|local|
+       '|exported|))
 ; 6a skip if compiling only certain items but not this one
 ; could be moved closer to the top
    (setq formattedSig (|formatUnabbreviated| (cons '|Mapping| signaturep)))
diff --git a/changelog b/changelog
index 69951e1..77c5629 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20141225 tpd src/axiom-website/patches.html 20141225.03.tpd.patch
+20141225 tpd books/bookvol9 simplify logic in compDefineCapsuleFunction
 20141225 tpd src/axiom-website/patches.html 20141225.02.tpd.patch
 20141225 tpd src/interp/vmlisp.lisp restore |function| macro
 20141225 tpd src/axiom-website/patches.html 20141225.01.tpd.patch
diff --git a/patch b/patch
index 29b0380..44a9bb1 100644
--- a/patch
+++ b/patch
@@ -1 +1 @@
-src/interp/vmlisp.lisp restore |function| macro
+books/bookvol9 simplify logic in compDefineCapsuleFunction
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 14b3ce2..178d1c9 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4840,6 +4840,8 @@ projects update<br/>
 buglist todo 336: getdatabase should handle special forms<br/>
 <a href="patches/20141225.02.tpd.patch">20141225.02.tpd.patch</a>
 src/interp/vmlisp.lisp restore |function| macro<br/>
+<a href="patches/20141225.03.tpd.patch">20141225.03.tpd.patch</a>
+books/bookvol9 simplify logic in compDefineCapsuleFunction<br/>
  </body>
 </html>
 
