diff --git a/ADbasic_program_buffered.bas b/ADbasic_program_buffered.bas
index de08d2c1cae5f2ce410a8dd68cb0d24fe748f44e..d9717586026d07364428ab5404ed28dfbde41a3f 100644
--- a/ADbasic_program_buffered.bas
+++ b/ADbasic_program_buffered.bas
@@ -337,7 +337,7 @@ EVENT:
       i = DATA_5[pidIdx] ' output channel index
       set_pid[i] = DATA_6[pidIdx]
       pid_error = set_target[i] - act_values[DATA_6[pidIdx]]
-      pid_sum[i] = DATA_26[pidIdx]*pid_error
+      pid_sum[i] = pid_sum[i] + DATA_26[pidIdx]*pid_error
       pid_prev_dError[i] = 0
       IF (set_pid[i]=0) THEN
         ' When we turn off PID, use the last output value as the new target value.