diff --git a/src/code/float-trap.lisp b/src/code/float-trap.lisp
index d97d04e82326ce6375d113dba879c32113f8d3c2..7f27ffdc6be517cef816163128415eef4553da8b 100644
--- a/src/code/float-trap.lisp
+++ b/src/code/float-trap.lisp
@@ -64,62 +64,17 @@
 (defun (setf floating-point-modes) (new) (setf (floating-point-modes) new))
 )
 
-#+(and x86 (not sse2))
-(progn
-  (defun floating-point-modes ()
-    (let ((x87-modes (vm::x87-floating-point-modes)))
-      ;; Massage the bits from x87-floating-point-modes into the order
-      ;; that the rest of the system wants them to be.  (Must match
-      ;; format in the SSE2 mxcsr register.)
-      (logior (ash (logand #x3f x87-modes) 7) ; control
-	      (logand #x3f (ash x87-modes -16)))))
-  (defun (setf floating-point-modes) (new)
-    (let* ((rc (ldb float-rounding-mode new))
-	   (x87-modes
-	    (logior (ash (logand #x3f new) 16)
-		    (ash rc 10)
-		    (logand #x3f (ash new -7))
-		    ;; Set precision control to be 53-bit, always.
-		    ;; (The compiler takes care of handling
-		    ;; single-float precision, and we don't support
-		    ;; long-floats.)
-		    (ash 2 8))))
-    (setf (x87-floating-point-modes) x87-modes)))
-  )
-
 #+sse2
 (progn
   (defun floating-point-modes ()
-    ;; Combine the modes from the FPU and SSE2 units.  Since the sse
-    ;; mode contains all of the common information we want, we massage
-    ;; the x87-modes to match, and then OR the x87 and sse2 modes
-    ;; together.  Note: We ignore the rounding control bits from the
-    ;; FPU and only use the SSE2 rounding control bits.
-    (let* ((x87-modes (vm::x87-floating-point-modes))
-	   (sse-modes (vm::sse2-floating-point-modes))
-	   (final-mode (logior sse-modes
-			       (ash (logand #x3f x87-modes) 7) ; control
-			       (logand #x3f (ash x87-modes -16)))))
-
-      final-mode))
+    ;; Get just the SSE2 mode bits.
+    (vm::sse2-floating-point-modes))
   (defun (setf floating-point-modes) (new-mode)
     (declare (type (unsigned-byte 24) new-mode))
-    ;; Set the floating point modes for both X87 and SSE2.  This
-    ;; include the rounding control bits.
-    (let* ((rc (ldb float-rounding-mode new-mode))
-	   (x87-modes
-	    (logior (ash (logand #x3f new-mode) 16)
-		    (ash rc 10)
-		    (logand #x3f (ash new-mode -7))
-		    ;; Set precision control to be 64-bit, always.  We
-		    ;; don't use the x87 registers with sse2, so this
-		    ;; is ok and would be the correct setting if we
-		    ;; ever support long-floats.
-		    (ash 3 8))))
-      (setf (vm::sse2-floating-point-modes) new-mode)
-      (setf (vm::x87-floating-point-modes) x87-modes))
+    ;; Set the floating point modes for SSE2.
+    (setf (vm::sse2-floating-point-modes) new-mode)
     new-mode)
-)
+  )
 
 ;;; SET-FLOATING-POINT-MODES  --  Public
 ;;;