diff --git a/compiler/rt/mc68881.lisp b/compiler/rt/mc68881.lisp
index cb3c5e8d30a0d5f7a4f9072831663d30404e78d7..f8688bf4649b26c7cb71c0777ab71c0a5bda96a2 100644
--- a/compiler/rt/mc68881.lisp
+++ b/compiler/rt/mc68881.lisp
@@ -43,9 +43,9 @@
 	 (error "Can only have one FP temp.")
 	 (let ((,var nl0-tn)
 	       (*in-with-fp-temp* t))
-	   (storew ,var nsp-tn 1)
+	   (storew ,var nsp-tn -1)
 	   (multiple-value-prog1 (progn ,@body)
-	     (loadw ,var nsp-tn 1))))))
+	     (loadw ,var nsp-tn -1))))))
 
 (define-move-function (load-single 7) (vop x y)
   ((single-stack) (mc68881-single-reg))