diff --git a/extendj b/extendj
index 1829cf5620db5d9d729f6aa16f109d7ad1b59e7a..b3bb5e2e978320d58af250b073ac42fac954b82d 160000
--- a/extendj
+++ b/extendj
@@ -1 +1 @@
-Subproject commit 1829cf5620db5d9d729f6aa16f109d7ad1b59e7a
+Subproject commit b3bb5e2e978320d58af250b073ac42fac954b82d
diff --git a/src/main/jastadd/Inheritance.jrag b/src/main/jastadd/Inheritance.jrag
index f614155910ed608314b0bad1dda50afddb52f413..25666d047ce6049f0646d2059ca86b1b1befe242 100644
--- a/src/main/jastadd/Inheritance.jrag
+++ b/src/main/jastadd/Inheritance.jrag
@@ -75,8 +75,7 @@ aspect Inheritance {
 
   eq InterfaceDecl.inheritedMethodsNameMap() {
     Map<String, Collection<MethodDecl>> result = new HashMap<>();
-    for (Iterator<TypeDecl> outerIter = interfacesIterator(); outerIter.hasNext(); ) {
-      TypeDecl typeDecl = outerIter.next();
+    for (TypeDecl typeDecl : superInterfaces()) {
       for (SimpleSet<MethodDecl> supertypeMethods : typeDecl.methodsSignatureMap().values()) {
         for (MethodDecl method : supertypeMethods) {
           if (!method.isPrivate()) {
diff --git a/src/main/java/org/extendj/ragdoc/JsonBuilder.java b/src/main/java/org/extendj/ragdoc/JsonBuilder.java
index b4db22c6eb38ca354c83edd7721e1e9b50348887..d5d8d8a68116a0f7392f731ddcff240c8044f7e6 100644
--- a/src/main/java/org/extendj/ragdoc/JsonBuilder.java
+++ b/src/main/java/org/extendj/ragdoc/JsonBuilder.java
@@ -176,10 +176,16 @@ public class JsonBuilder {
   }
 
   public static boolean shouldDocument(BodyDecl member, JsonObject doc) {
+    if (member.isSynthetic()) {
+      return false;
+    }
     return doc == null || !doc.get("apilevel").stringValue("").equals("internal");
   }
 
   public static boolean isHighLevelApi(BodyDecl member, JsonObject doc) {
+    if (member.isSynthetic()) {
+      return false;
+    }
     if (doc == null) {
       return true;
     }
@@ -451,9 +457,9 @@ public class JsonBuilder {
         JsonArray fieldArray = new JsonArray();
         for (Iterable<Variable> vars : superclass.localFieldsMap().values()) {
           for (Variable var : vars) {
-            if (!declaredFields.contains(var.name())
-                && !var.isPrivate()
-                && shouldDocument(var.fieldDecl())) {
+            if (shouldDocument(var.fieldDecl())
+                && !declaredFields.contains(var.name())
+                && !var.isPrivate()) {
               declaredFields.add(var.name());
               fieldArray.add(var.name());
             }