diff --git a/compiler/mips/array.lisp b/compiler/mips/array.lisp
index 54e226fcc12f43fa50f69448df82b7f38d2a5df6..9daa5e656bbc24ffab0c1b3395b50f639b65340b 100644
--- a/compiler/mips/array.lisp
+++ b/compiler/mips/array.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/array.lisp,v 1.8 1990/04/01 18:08:02 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/array.lisp,v 1.9 1990/04/04 22:37:59 wlott Exp $
 ;;;
 ;;;    This file contains the MIPS definitions for array operations.
 ;;;
@@ -184,7 +184,7 @@
     (loadw t1 x 0 vm:other-pointer-type)
     (loadi t2 vm:type-mask)
     (inst and t1 t1 t2)
-    (inst sra t2 subtype 2)
+    (inst sll t2 subtype (- vm:type-bits 2))
     (inst or t1 t1 t2)
     (storew t1 x 0 vm:other-pointer-type)
     (move res x)))