diff --git a/src/backends/lr.c b/src/backends/lr.c
index e7f237756361303102440700af4ceb5fcfb5abdf..59c8c90751486f8c0a7cb51a8a73856936f69b76 100644
--- a/src/backends/lr.c
+++ b/src/backends/lr.c
@@ -351,7 +351,9 @@ HParseResult *h_lrengine_result(HLREngine *engine)
     // on top of the stack is the start symbol's semantic value
     assert(!h_slist_empty(engine->stack));
     HParsedToken *tok = engine->stack->head->elem;
-    return make_result(engine->arena, tok);
+    HParseResult *res =  make_result(engine->arena, tok);
+    res->bit_length = engine->input.index * 8;
+    return res;
   } else {
     return NULL;
   }