diff --git a/src/mem/ruby/protocol/chi/CHI-cache-ports.sm b/src/mem/ruby/protocol/chi/CHI-cache-ports.sm
index 3c628ec..ecb4e61 100644
--- a/src/mem/ruby/protocol/chi/CHI-cache-ports.sm
+++ b/src/mem/ruby/protocol/chi/CHI-cache-ports.sm
@@ -107,8 +107,7 @@
     peek(datInPort, CHIDataMsg) {
       // We don't have any transactions that use data requests
       assert(!in_msg.usesTxnId);
-      int received := in_msg.bitMask.count();
-      assert((received <= data_channel_size) && (received > 0));
+      assert((in_msg.bitMask.count() <= data_channel_size) && (in_msg.bitMask.count() > 0));
       trigger(dataToEvent(in_msg.type), in_msg.addr,
               getCacheEntry(in_msg.addr), getCurrentActiveTBE(in_msg.addr));
     }
diff --git a/src/mem/ruby/protocol/chi/CHI-dvm-misc-node-ports.sm b/src/mem/ruby/protocol/chi/CHI-dvm-misc-node-ports.sm
index 0520b39..1a6a09c 100644
--- a/src/mem/ruby/protocol/chi/CHI-dvm-misc-node-ports.sm
+++ b/src/mem/ruby/protocol/chi/CHI-dvm-misc-node-ports.sm
@@ -87,8 +87,7 @@
   if (datInPort.isReady(clockEdge())) {
     printResources();
     peek(datInPort, CHIDataMsg) {
-      int received := in_msg.bitMask.count();
-      assert((received <= data_channel_size) && (received > 0));
+      assert((in_msg.bitMask.count() <= data_channel_size) && (in_msg.bitMask.count() > 0));
       assert(in_msg.usesTxnId);
       trigger(dataToEvent(in_msg.type), in_msg.txnId, getCurrentActiveTBE(in_msg.txnId));
     }
@@ -121,8 +120,7 @@
     peek(reqInPort, CHIRequestMsg) {
       assert(in_msg.usesTxnId);
       // Make sure we aren't already processing this
-      TBE tbe := getCurrentActiveTBE(in_msg.txnId);
-      assert(!is_valid(tbe));
+      assert(!is_valid(getCurrentActiveTBE(in_msg.txnId)));
       if (in_msg.allowRetry) {
         trigger(Event:AllocRequest, in_msg.txnId, nullTBE());
       } else {
@@ -315,4 +313,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
