diff --git a/src/mol-io/common/binary-cif/array-encoder.ts b/src/mol-io/common/binary-cif/array-encoder.ts
index a6376e920402d640f009137528e0421a602c3e76..60affaf1efd0ff2a79a9a2152b04aee7fc6ecb0c 100644
--- a/src/mol-io/common/binary-cif/array-encoder.ts
+++ b/src/mol-io/common/binary-cif/array-encoder.ts
@@ -172,7 +172,7 @@ export namespace ArrayEncoding {
         for (let i = 0, n = data.length; i < n; i++) {
             const v = data[i];
             if (v <= min) output[i] = 0;
-            else if (v >= max) output[i] = numSteps;
+            else if (v >= max) output[i] = numSteps - 1;
             else output[i] = (Math.round((v - min) / delta)) | 0;
         }