diff -r 24374861f91e -r ad07b7ea9685 src/share/classes/com/sun/tools/javac/comp/Resolve.java --- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java Fri Jul 03 09:16:14 2009 -0700 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java Wed Jul 15 10:25:01 2009 +0100 @@ -251,7 +251,8 @@ return true; else { Symbol s2 = ((MethodSymbol)sym).implementation(site.tsym, types, true); - return (s2 == null || s2 == sym); + return (s2 == null || s2 == sym || + !types.isSubSignature(types.memberType(site, s2), types.memberType(site, sym))); } } //where