diff --git a/changelog b/changelog
index 11eac3a..69951e1 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+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
 20141225 tpd buglist todo 336: getdatabase should handle special forms
 20141223 tpd src/axiom-website/patches.html 20141223.01.tpd.patch
diff --git a/patch b/patch
index dcb8f05..29b0380 100644
--- a/patch
+++ b/patch
@@ -1,10 +1 @@
-buglist todo 336: getdatabase should handle special forms
-
-This code should not exist. Fix getdatabase to return the right answer.
-
-    ((BOOT-EQUAL name '|Union|) '(|Union| (|:| |a| A) (|:| |b| B)))
-    ((BOOT-EQUAL name '|UntaggedUnion|) '(|Union| A B))
-    ((BOOT-EQUAL name '|Record|) '(|Record| (|:| |a| A) (|:| |b| B)))
-    ((BOOT-EQUAL name '|Mapping|) '(|Mapping| T S))
-    ((BOOT-EQUAL name '|Enumeration|) '(|Enumeration| |a| |b|))
-    (t (GETDATABASE name 'CONSTRUCTORFORM))))
+src/interp/vmlisp.lisp restore |function| macro
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 4c0af97..14b3ce2 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4838,6 +4838,8 @@ src/interp/vmlisp.lisp remove |function|<br/>
 projects update<br/>
 <a href="patches/20141225.01.tpd.patch">20141225.01.tpd.patch</a>
 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/>
  </body>
 </html>
 
diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp.pamphlet
index 96667fa..ba70dd2 100644
--- a/src/interp/vmlisp.lisp.pamphlet
+++ b/src/interp/vmlisp.lisp.pamphlet
@@ -2428,6 +2428,7 @@ for primitive domains.        Also used by putInLocalDomainReferences and optCal
  
 ; 5.3.2 Declaring Global Variables and Named Constants
  
+(defmacro |function| (name) `(FUNCTION ,name))
 (defmacro |dispatchFunction| (name) `(FUNCTION ,name))
  
 (defun |macrop| (fn) (and (identp fn) (macro-function fn)))
