Index: /branches/ia32/level-0/X86/X8632/x8632-def.lisp
===================================================================
--- /branches/ia32/level-0/X86/X8632/x8632-def.lisp	(revision 9642)
+++ /branches/ia32/level-0/X86/X8632/x8632-def.lisp	(revision 9643)
@@ -229,6 +229,8 @@
   (jne @fail)
   (movl (@ x8632::recover-fn-address-offset (% r)) (% imm0))
-  (subl (% arg_z) (% imm0))		;offset = tra - fn
+  (subl (% arg_z) (% imm0))
+  (negl (% imm0))
   (box-fixnum imm0 arg_z)
+  (single-value-return)
   @fail
   (movl ($ x8632::nil-value) (% arg_z))
