diff --git a/cheriot/cheriot_top.cc b/cheriot/cheriot_top.cc
index 8643188..798ccfe 100644
--- a/cheriot/cheriot_top.cc
+++ b/cheriot/cheriot_top.cc
@@ -437,8 +437,6 @@
     while (!halted_) {
       auto *inst = cheriot_decode_cache_->GetDecodedInstruction(pc);
       SetPc(pc);
-      // Set the PC destination operand to next_seq_pc. Any branch that is
-      // executed will overwrite this.
       next_pc = pc + inst->size();
       bool executed = false;
       if (icache_) ICacheFetch(pc);
@@ -462,7 +460,6 @@
       counter_opcode_[inst->opcode()].Increment(1);
       counter_num_instructions_.Increment(1);
       // Get the next pc value.
-      // Get the next pc value.
       uint64_t pcc_val = pcc_->data_buffer()->Get<uint32_t>(0);
       if (state_->branch()) {
         state_->set_branch(false);
@@ -656,10 +653,10 @@
   // Was the register found? If not try CSRs.
   if (iter == state_->registers()->end()) {
     auto result = state_->csr_set()->GetCsr(name);
-    if (name == "$branch_trace_size") {
-      return ResizeBranchTrace(value);
-    }
     if (!result.ok()) {
+      if (name == "$branch_trace_size") {
+        return ResizeBranchTrace(value);
+      }
       return absl::NotFoundError(
           absl::StrCat("Register '", name, "' not found"));
     }
