diff --git a/basis/cpu/x86/bootstrap.factor b/basis/cpu/x86/bootstrap.factor
index 2e33a4d930..2541cee14c 100644
--- a/basis/cpu/x86/bootstrap.factor
+++ b/basis/cpu/x86/bootstrap.factor
@@ -4,7 +4,7 @@ USING: bootstrap.image.private compiler.constants
 compiler.codegen.relocation compiler.units cpu.x86.assembler
 cpu.x86.assembler.operands kernel kernel.private layouts
 locals locals.backend make math math.private namespaces sequences
-slots.private strings.private vocabs ;
+slots.private strings.private vocabs math.bitwise ;
 IN: bootstrap.x86
 
 big-endian off
@@ -341,8 +341,7 @@ big-endian off
     ! turn slot number into offset
     fixnum>slot@
     ! mask off tag
-    temp1 tag-bits get SHR
-    temp1 tag-bits get SHL
+    temp1 tag-bits get on-bits bitnot AND
     ! load slot value
     temp0 temp1 temp0 [+] MOV
     ! push to stack