diff --git a/src/share/classes/com/sun/source/util/AbstractTypeProcessor.java b/src/share/classes/com/sun/source/util/AbstractTypeProcessor.java
index <HASH>..<HASH> 100644
--- a/src/share/classes/com/sun/source/util/AbstractTypeProcessor.java
+++ b/src/share/classes/com/sun/source/util/AbstractTypeProcessor.java
@@ -208,6 +208,9 @@ public abstract class AbstractTypeProcessor extends AbstractProcessor {
             TreePath p = Trees.instance(env).getPath(elem);
 
             typeProcess(elem, p);
+            
+            // report errors accumulated during type checking
+            log.reportDeferredDiagnostics();
 
             if (!hasInvokedTypeProcessingOver && elements.isEmpty() && log.nerrors == 0) {
                 typeProcessingOver();
Undo the previous commit. The reportDeferredDiagnostics is actually necessary to report the additional errors found by the type checkers.