diff -r 7e97c65c373c -r 76b61848c9a4 src/share/classes/com/sun/tools/javac/comp/TransTypes.java --- a/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Wed Jun 18 12:30:29 2014 -0400 +++ b/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Wed Jun 18 12:06:50 2014 -0400 @@ -967,10 +967,11 @@ translateClass((ClassSymbol)st.tsym); } - Env myEnv = enter.typeEnvs.remove(c); - if (myEnv == null) { + Env myEnv = enter.getEnv(c); + if (myEnv == null || (c.flags_field & TYPE_TRANSLATED) != 0) { return; } + c.flags_field |= TYPE_TRANSLATED; /* The two assertions below are set for early detection of any attempt * to translate a class that: