diff --git a/cheriot/cheriot_register.cc b/cheriot/cheriot_register.cc
index 7926a57..075588d 100644
--- a/cheriot/cheriot_register.cc
+++ b/cheriot/cheriot_register.cc
@@ -204,7 +204,7 @@
   // Compute the exponent that will be used. Note, the largest exponent is 14.
   uint64_t ext_base = req_base;
   uint32_t trunc_length = static_cast<uint32_t>(req_length);
-  uint32_t exp_l = 31 - absl::countl_zero(trunc_length);
+  uint32_t exp_l = 23 - absl::countl_zero(trunc_length | 0x1ff);
   uint32_t exp_b = absl::countr_zero(ext_base);
   uint32_t exp = std::min(14u, std::min(exp_l, exp_b));
   // Reduce the requested length to the nearest representable length.
@@ -232,6 +232,8 @@
   }
   uint64_t base_bits = raw_ & 0x1ff;
   uint64_t top_bits = (raw_ >> 9) & 0x1ff;
+  uint64_t exp = (raw_ >> 18) & 0xf;
+  if (exp == 15) exp = 24;
   uint64_t a_mid = (address() >> exponent_) & 0x1ff;
   uint64_t a_hi = (a_mid < base_bits ? 1 : 0);
   uint64_t t_hi = top_bits < base_bits ? 1 : 0;
diff --git a/cheriot/cheriot_top.cc b/cheriot/cheriot_top.cc
index 36eab83..007c9de 100644
--- a/cheriot/cheriot_top.cc
+++ b/cheriot/cheriot_top.cc
@@ -17,10 +17,12 @@
 #include <algorithm>
 #include <cstdint>
 #include <cstring>
+#include <iostream>
 #include <string>
 #include <thread>  // NOLINT: third party code.
 #include <utility>
 
+#include "absl/flags/flag.h"
 #include "absl/functional/any_invocable.h"
 #include "absl/functional/bind_front.h"
 #include "absl/log/check.h"
@@ -54,6 +56,8 @@
 #include "riscv//riscv_csr.h"
 #include "riscv//riscv_register.h"
 
+ABSL_FLAG(bool, trace, false, "Enables instruction tracing.");
+
 namespace mpact {
 namespace sim {
 namespace cheriot {
@@ -229,9 +233,9 @@
   // Execute the instruction.
   inst->Execute(nullptr);
   counter_pc_.SetValue(inst->address());
-  // Comment out instruction logging during execution.
-  // LOG(INFO) << "[" << std::hex << inst->address() << "] " <<
-  // inst->AsString();
+  if (absl::GetFlag(FLAGS_trace)) {
+    LOG(INFO) << "[" << std::hex << inst->address() << "] " << inst->AsString();
+  }
   return true;
 }
 
diff --git a/cheriot/riscv_cheriot_instructions.cc b/cheriot/riscv_cheriot_instructions.cc
index ca2d896..56fc375 100644
--- a/cheriot/riscv_cheriot_instructions.cc
+++ b/cheriot/riscv_cheriot_instructions.cc
@@ -16,6 +16,7 @@
 
 #include <any>
 #include <cstdint>
+#include <iostream>
 #include <type_traits>
 
 #include "absl/log/log.h"
@@ -147,7 +148,6 @@
 void CheriotCGetTop(const Instruction* instruction) {
   auto* cs1 = GetCapSource(instruction, 0);
   auto [unused, top] = cs1->ComputeBounds();
-  // auto top = cs1->top();
   if (top == 0x1'0000'0000ULL) {
     top = 0xffff'ffff;
   }
