diff --git a/src/main/org/codehaus/groovy/classgen/asm/BinaryExpressionMultiTypeDispatcher.java b/src/main/org/codehaus/groovy/classgen/asm/BinaryExpressionMultiTypeDispatcher.java
index <HASH>..<HASH> 100644
--- a/src/main/org/codehaus/groovy/classgen/asm/BinaryExpressionMultiTypeDispatcher.java
+++ b/src/main/org/codehaus/groovy/classgen/asm/BinaryExpressionMultiTypeDispatcher.java
@@ -301,7 +301,7 @@ public class BinaryExpressionMultiTypeDispatcher extends BinaryExpressionHelper 
         operandStack.load(ClassHelper.int_TYPE, subscriptValueId);
         operandStack.swap();
         bew.arraySet(false);
-        operandStack.remove(2);
+        operandStack.remove(3); // 3 operands, the array, the index and the value!
 
         // load return value
         operandStack.load(rightType, resultValueId);
fix array set operator popping error. since only 2 operators where removed, but it should have been 3, there have been possible pops from empty stacks, which can result in VerifyError