diff --git a/src/refit/client/REFITLibByz.java b/src/refit/client/REFITLibByz.java
index 349486e068ef8c6a1d1f1f353e9dfb8b97c1bca9..ab311ac7e1355d16d7c4ccd175999954038843e2 100644
--- a/src/refit/client/REFITLibByz.java
+++ b/src/refit/client/REFITLibByz.java
@@ -397,7 +397,7 @@ public class REFITLibByz extends REFITClientLibrary {
 			}
 			readWriteConflict = false;
 
-			if (REFITConfig.USE_PBFT_READ_OPTIMIZATION && request.mode.equals(RequestMode.READ)) {
+			if (request.mode.isReadOnly() && (REFITConfig.USE_PBFT_READ_OPTIMIZATION || !request.mode.isTotalOrder())) {
 				boolean[] executionReplicas = REFITReplicaGroups.getExecutionReplicas(0);
 				if (!REFITConfig.SIGNED_REQUESTS) {
 					// Append MAC, special case for executors