diff -r a2ca83ddc521 -r fc3f6ea5e246 vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Dec 09 16:25:36 2012 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Dec 09 16:44:27 2012 +0100 @@ -770,9 +770,9 @@ final String type = jc.getClassName(indx); if (!type.startsWith("[")) { // no way to check arrays right now - out.append("if(s[s.length - 1].$instOf_") + out.append("if(s[s.length - 1] !== null && !s[s.length - 1].$instOf_") .append(type.replace('/', '_')) - .append(" != 1) throw {};"); // XXX proper exception + .append(") throw {};"); // XXX proper exception } i += 2; break;