         } else {
             pos = 8;
         }
+
+        if (drawbar == 4 /* && percussion is on */) {
+            pos = 0;
+        }
+
         drawbars[drawbar] = pos;
         manual_fill_volumes(keys, drawbars, volumes);
         tonewheels.setVolumes(volumes);

        return;
    }

    keys[key] = 0;
    manual_fill_volumes(keys, drawbars, volumes);
    tonewheels.setVolumes(volumes);

        return;
    }

    if (++numKeysDown == 1) {
        float freq = pow(2.0, (note - 69) / 12.0) * 440;
        percussion.frequency(freq * 2);
        percussionEnv.noteOn();
    }
    keys[key] = 1;
    manual_fill_volumes(keys, drawbars, volumes);
    tonewheels.setVolumes(volumes);
