diff --git a/target-xtensa/translate.c b/target-xtensa/translate.c
index 94c51ae..cc82cd9 100644
--- a/target-xtensa/translate.c
+++ b/target-xtensa/translate.c
@@ -2654,7 +2654,11 @@ static void gen_intermediate_code_internal(
     gen_icount_end(tb, insn_count);
     *gen_opc_ptr = INDEX_op_end;
 
-    if (!search_pc) {
+    if (search_pc) {
+        j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
+        memset(tcg_ctx.gen_opc_instr_start + lj + 1, 0,
+                (j - lj) * sizeof(tcg_ctx.gen_opc_instr_start[0]));
+    } else {
         tb->size = dc.pc - pc_start;
         tb->icount = insn_count;
     }
