diff --git a/init/body-expand.lisp b/init/body-expand.lisp
index 4524a3a2cae95bfa2a0140eb8fd1bf7f9fddd569..55436fc5fe917a6959ad0e480d5e0f3c27d93c5f 100644
--- a/init/body-expand.lisp
+++ b/init/body-expand.lisp
@@ -1,6 +1,6 @@
 ;; Expand the body of a defmfun
 ;; Liam Healy 2009-04-13 22:07:13EDT body-expand.lisp
-;; Time-stamp: <2010-12-04 17:24:31EST body-expand.lisp>
+;; Time-stamp: <2010-12-12 00:21:04EST body-expand.lisp>
 ;;
 ;; Copyright 2009, 2010 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -84,9 +84,8 @@
 
 (defun cl-convert-form (decl)
   "Generate a form that calls the appropriate converter from C/GSL to CL."
-  (if (fsbv:converter-defined-p (grid:st-actual-type decl))
-      `((fsbv:object ,(grid:st-symbol decl) ',(grid:st-actual-type decl)))
-      `((cffi:mem-aref ,(grid:st-symbol decl) ',(grid:st-actual-type decl)))))
+  (list
+   (fsbv:convert-from-pointer (grid:st-symbol decl) (grid:st-actual-type decl))))
 
 (defun values-unless-singleton (forms)
   (unless (listp forms) (error "Values are not a list."))