diff --git a/compiler/seqtran.lisp b/compiler/seqtran.lisp
index 2772135338c56a83bb251d5b4ef44316932a5430..6b98d6943b8a67f360851e648bdbc42f94674d29 100644
--- a/compiler/seqtran.lisp
+++ b/compiler/seqtran.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/seqtran.lisp,v 1.24 2000/05/02 04:44:28 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/seqtran.lisp,v 1.25 2003/02/21 16:06:57 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -183,11 +183,13 @@
 
 (deftransform find ((item sequence &key from-end (test #'eql) (start 0) end)
 		    (t simple-string &rest t))
-  `(if (position item sequence
-		 ,@(when from-end `(:from-end from-end))
-		 :test test :start start :end end)
-       item
-       nil))
+  (let ((index (gensym)))
+    `(let ((,index (position item sequence
+			     ,@(when from-end `(:from-end from-end))
+			     :test test :start start :end end)))
+      (if ,index
+	  (elt sequence ,index)
+	  nil))))
 
 
 ;;;; Utilities: