diff -r 52b637b3b246 -r 00834a375696 langtools/src/share/classes/com/sun/tools/javac/code/Types.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Thu Dec 09 19:53:03 2010 -0800 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Fri Dec 10 15:23:42 2010 +0000 @@ -1080,7 +1080,8 @@ case CLASS: return isSubtype(t, s); case ARRAY: - if (elemtype(t).tag <= lastBaseTag) { + if (elemtype(t).tag <= lastBaseTag || + elemtype(s).tag <= lastBaseTag) { return elemtype(t).tag == elemtype(s).tag; } else { return visit(elemtype(t), elemtype(s));