diff --git a/src/javacc/jrag/ClassBodyDeclUnparser.java b/src/javacc/jrag/ClassBodyDeclUnparser.java
index e5613c0367a541d54e615b8fbc3b4eaea1176f0b..1488b95d74b035e7bd752a00e88cad921b3657c5 100644
--- a/src/javacc/jrag/ClassBodyDeclUnparser.java
+++ b/src/javacc/jrag/ClassBodyDeclUnparser.java
@@ -154,12 +154,6 @@ public class ClassBodyDeclUnparser implements JragParserVisitor {
   public Object visit(ASTAspectInterfaceInhAttributeDeclaration self, Object data) {
     return unparseSimple(self, (StringBuffer) data);
   }
-  public Object visit(ASTAspectInterfaceMethodDeclarationLookahead self, Object data) {
-    return unparseSimple(self, (StringBuffer) data);
-  }
-  public Object visit(ASTAspectInterfaceMethodDeclaration self, Object data) {
-    return unparseSimple(self, (StringBuffer) data);
-  }
   public Object visit(ASTAspectInterfaceFieldDeclaration self, Object data) {
     return unparseSimple(self, (StringBuffer) data);
   }
diff --git a/src/javacc/jrag/Jrag.jjt b/src/javacc/jrag/Jrag.jjt
index 1c94982815b64c5aa73dbdf5a3d684cbebbca356..294ea3171af6a277dce8107dbccc422288202697 100644
--- a/src/javacc/jrag/Jrag.jjt
+++ b/src/javacc/jrag/Jrag.jjt
@@ -552,6 +552,12 @@ String Modifiers() :
      if (buf.length() > 0) buf.append(" ");
      buf.append(token.image);
    }
+  |
+   "default"
+   {
+     if (buf.length() > 0) buf.append(" ");
+     buf.append(token.image);
+   }
   |
    annotation = Annotation()
    {
@@ -746,7 +752,9 @@ void AspectInterfaceDeclaration() :
 }
 
 void AspectInterfaceMemberDeclaration() :
-{}
+{
+  String modifiers;
+}
 {
   LOOKAHEAD( Modifiers() "class" )
   AspectNestedClassDeclaration()
@@ -760,10 +768,15 @@ void AspectInterfaceMemberDeclaration() :
   LOOKAHEAD("inh")
   AspectInterfaceInhAttributeDeclaration()
 |
-  LOOKAHEAD( AspectInterfaceMethodDeclarationLookahead() )
-  AspectInterfaceMethodDeclaration()
-|
-  AspectInterfaceFieldDeclaration()
+  modifiers = Modifiers()
+  (
+    LOOKAHEAD( AspectType() JavaIdentifier() ( "[" "]" )* ( "," | "=" | ";" ) )
+    FieldDeclaration(modifiers)
+    { root.addClassBodyDecl(jjtThis, className, fileName, enclosingAspect); }
+  |
+    MethodDeclaration(modifiers)
+    { root.addClassBodyDecl(jjtThis, className, fileName, enclosingAspect); }
+  )
 }
 
 void AspectInterfaceSynAttributeDeclaration() :
@@ -860,25 +873,6 @@ void AspectInterfaceInhAttributeDeclaration() :
   }
 }
 
-void AspectInterfaceMethodDeclarationLookahead() :
-{}
-{
-  ( "public" | "protected" | "private" | "static" | "abstract" | "final" | "native" | "synchronized" )*
-  AspectResultType() JavaIdentifier() "("
-}
-
-void AspectInterfaceMethodDeclaration() :
-{
-  Token t;
-}
-{
-  ( "public" | "protected" | "private" | "static" | "abstract" | "final" | "native" | "synchronized" )*
-  AspectResultType() MethodDeclarator() [ "throws" NameList() ]
-  ";" {
-    root.addClassBodyDecl(jjtThis, className, fileName, enclosingAspect);
-  }
-}
-
 void AspectInterfaceFieldDeclaration() :
 {
   Token t;
diff --git a/src/javacc/jrag/SignatureUnparser.java b/src/javacc/jrag/SignatureUnparser.java
index 751caa7a05f44fc0977c85e692dfaf51c1f1df0a..7e794a458c9331543f8a779cb10238d7fdd82ffa 100644
--- a/src/javacc/jrag/SignatureUnparser.java
+++ b/src/javacc/jrag/SignatureUnparser.java
@@ -53,12 +53,6 @@ public class SignatureUnparser implements JragParserVisitor {
   public Object visit(ASTAspectInterfaceInhAttributeDeclaration node, Object data) {
     return "";
   }
-  public Object visit(ASTAspectInterfaceMethodDeclarationLookahead node, Object data) {
-    return "";
-  }
-  public Object visit(ASTAspectInterfaceMethodDeclaration node, Object data) {
-    return "";
-  }
   public Object visit(ASTAspectInterfaceFieldDeclaration node, Object data) {
     return "";
   }
diff --git a/src/javacc/jrag/Unparser.java b/src/javacc/jrag/Unparser.java
index fa1bca6fd93fe668e785cd4d94bd4d34289221bc..93044e1c433b370ac14b94094fa558edc832627f 100644
--- a/src/javacc/jrag/Unparser.java
+++ b/src/javacc/jrag/Unparser.java
@@ -194,14 +194,6 @@ public class Unparser implements JragParserVisitor {
     Unparser.unparseSimple(this, self, (StringBuffer) data);
     return null;
   }
-  public Object visit(ASTAspectInterfaceMethodDeclarationLookahead self, Object data) {
-    Unparser.unparseSimple(this, self, (StringBuffer) data);
-    return null;
-  }
-  public Object visit(ASTAspectInterfaceMethodDeclaration self, Object data) {
-    Unparser.unparseSimple(this, self, (StringBuffer) data);
-    return null;
-  }
   public Object visit(ASTAspectInterfaceFieldDeclaration self, Object data) {
     Unparser.unparseSimple(this, self, (StringBuffer) data);
     return null;