diff --git a/vendor/ess/lib/sis8300drvbcm.c b/vendor/ess/lib/sis8300drvbcm.c
index 0602beadcc075f4becae13846ae7a939f959545d..cad884ed43e321e170bdb63d632d07876366d451 100644
--- a/vendor/ess/lib/sis8300drvbcm.c
+++ b/vendor/ess/lib/sis8300drvbcm.c
@@ -2094,12 +2094,12 @@ static int set_differential_alarms_control(sis8300drv_usr *sisuser, unsigned int
             SIS8300BCM_DIFF_BANK_OFF + \
             SIS8300BCM_DIFF_X_ALARM_CONTROL_OFF;
     unsigned int value;
-    // register has lowest 3 bits defined
+    // register has lowest 4 bits defined
     int ret = sis8300drv_reg_read(sisuser, reg, &value);
     if (ret) {
         return ret;
     }
-    value &= 0x7;
+    value &= 0xF;
     // set / clear the desired bit
     if (disable) {
         value |= (1 << bit);