diff -r a6a23aa7a546 -r c6f21b56a6cf vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Thu Dec 06 16:11:48 2012 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Dec 09 16:43:36 2012 +0100 @@ -759,9 +759,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;