diff --git a/components/bl00mbox/micropython/bl00mbox/_plugins.py b/components/bl00mbox/micropython/bl00mbox/_plugins.py
index edfb7edd0077ff3081caef78cd69c726ff330deb..aeb561cdb698d867e9758e180259b00953845b4d 100644
--- a/components/bl00mbox/micropython/bl00mbox/_plugins.py
+++ b/components/bl00mbox/micropython/bl00mbox/_plugins.py
@@ -478,13 +478,11 @@ class _Distortion(_Plugin):
             return
         table = [0] * 129
         for x, num in enumerate(table):
-            position = x * points_size / 129
+            position = x * (points_size - 1) / 129
             lower = int(position)
             lerp = position - lower
             if position < points_size - 1:
-                table[x] = int(
-                    (1 - lerp) * points[position] + lerp * points[position + 1]
-                )
+                table[x] = int((1 - lerp) * points[lower] + lerp * points[lower + 1])
             else:
                 table[x] = int(points[points_size - 1])
         self.table = table