diff --git a/combinatorial_LR_parser.py b/combinatorial_LR_parser.py
index 6da2b7b88e4b5c6334a78091559133118f859392..ce183889f487801dbf83d17eab1ca5dfcaa2aea6 100644
--- a/combinatorial_LR_parser.py
+++ b/combinatorial_LR_parser.py
@@ -708,7 +708,7 @@ class MasterStateMachine(Elaboratable):
     def elaborate(self, platform):
         m = Module()
         #stack         = InspectableStack(item_width=self.item_width,    stack_depth=self.stack_depth)
-        doublestacks  = StacksInSync(bigstack_item_width=self.item_width, sidestack_item_width=self.indices_width, stack_depth = self.stack_depth)
+        doublestacks  = StacksInSync(bigstack_item_width=self.item_width, sidestack_item_width=self.indices_width + 1, stack_depth = self.stack_depth)
 
         rule_matcher = HitOrMiss(item_width=self.item_width, stack_depth=self.stack_depth,
             validitem_ruleset         = self.validitem_ruleset,
@@ -866,7 +866,7 @@ class MasterStateMachine(Elaboratable):
                 with m.If(number_to_pop == 0):
                     m.d.comb += doublestacks.command_in.eq(2)
                     m.d.comb += doublestacks.big_push_port.eq(execution_result)
-                    m.d.comb += doublestacks.side_push_port.eq(serializer.serialized_index | 0x1000) #FIXME
+                    m.d.comb += doublestacks.side_push_port.eq(serializer.serialized_index | (1<<(self.indices_width))) #FIXME
                     m.d.comb += doublestacks.command_in_strobe.eq(1)
 
 #                    m.d.comb += fsm_ready.eq(1)
diff --git a/python_arborist.py b/python_arborist.py
index 9c91117740333a144377fcece8a09a79c736cf06..2c3b515ae43400da0c28965f39771e3b653e52f6 100644
--- a/python_arborist.py
+++ b/python_arborist.py
@@ -326,7 +326,7 @@ print("EGG")
 print(serialized_tree_final)
 
 
-top_bit = 0x1000
+top_bit = (1<<16)
 
 
 def deserializer(serialized_array):