diff --git a/binder/src/main/java/io/grpc/binder/internal/BinderTransport.java b/binder/src/main/java/io/grpc/binder/internal/BinderTransport.java
index f61c455edd5..99caa577e84 100644
--- a/binder/src/main/java/io/grpc/binder/internal/BinderTransport.java
+++ b/binder/src/main/java/io/grpc/binder/internal/BinderTransport.java
@@ -484,8 +484,8 @@ private boolean handleTransactionInternal(int code, Parcel parcel) {
         inbound.handleTransaction(parcel);
       }
       long nib = numIncomingBytes.addAndGet(size);
-      if ((nib - acknowledgedIncomingBytes) > TRANSACTION_BYTES_WINDOW_FORCE_ACK) {
-        synchronized (this) {
+      synchronized (this) {
+        if ((nib - acknowledgedIncomingBytes) > TRANSACTION_BYTES_WINDOW_FORCE_ACK) {
           sendAcknowledgeBytes(checkNotNull(outgoingBinder));
         }
       }