diff --git a/src/main/grammar/Aspect.bnf b/src/main/grammar/Aspect.bnf
index e8bdb09b894c75068adbab329f8217ce80f1e15f..1bd54a8a035025a82dcca39fbdb23ac6e17bfe29 100644
--- a/src/main/grammar/Aspect.bnf
+++ b/src/main/grammar/Aspect.bnf
@@ -128,7 +128,7 @@ aspect_inh_attribute_declaration ::= annotation* INH NTA? LAZY? FINAL? aspect_ty
 }
 
 // FIXME parentheses are not required around the WHEN expression?
-aspect_rewrite ::= REWRITE aspect_name (ast_type_name DOT method_name LPAREN RPAREN)? LBRACE ((WHEN LPAREN expression RPAREN)? TO aspect_type ( expression SEMICOLON | block ))+ RBRACE
+aspect_rewrite ::= REWRITE ast_type_name (ast_type_name DOT method_name LPAREN RPAREN)? LBRACE ((WHEN LPAREN expression RPAREN)? TO aspect_type ( expression SEMICOLON | block ))+ RBRACE
 
 aspect_syn_equation ::= annotation* EQUATION ast_type_name DOT attribute_name LPAREN (type parameter_name (COMMA type parameter_name)*)? RPAREN ( ASSIGN expression SEMICOLON | block )
 
diff --git a/src/main/java/org/jastadd/tooling/aspect/AspectStructureViewElement.java b/src/main/java/org/jastadd/tooling/aspect/AspectStructureViewElement.java
index 23b477df6712205245ae6545fe99065ca491a6ec..a59a0a9af4643085f3ade78dcfe93dc06472cbdf 100644
--- a/src/main/java/org/jastadd/tooling/aspect/AspectStructureViewElement.java
+++ b/src/main/java/org/jastadd/tooling/aspect/AspectStructureViewElement.java
@@ -133,6 +133,18 @@ public class AspectStructureViewElement implements StructureViewTreeElement, Sor
             return AllIcons.Nodes.Method;
           }
         };
+      } else if (myElement instanceof JastAddAspectAspectRewrite) {
+        presentation = new ItemPresentation() {
+          @Override
+          public String getPresentableText() {
+            return AspectStructureViewElement.getPresentableText((JastAddAspectAspectRewrite) myElement);
+          }
+
+          @Override
+          public Icon getIcon(boolean unused) {
+            return JastAddIcons.REWRITE;
+          }
+        };
       }
 
     }
@@ -161,6 +173,11 @@ public class AspectStructureViewElement implements StructureViewTreeElement, Sor
       + " : " + decl.getAspectType().getText();
   }
 
+  private static String getPresentableText(JastAddAspectAspectRewrite rewrite) {
+    return "rewrite " + rewrite.getAstTypeNameList().get(0).getText()
+      + " to " + rewrite.getAspectTypeList().stream().map(JastAddAspectAspectType::getText).collect(Collectors.joining("/"));
+  }
+
   private static String getPresentableText(JastAddAspectAspectConstructorDeclaration decl) {
     return decl.getModifiers().getText()
       + " " + decl.getAstTypeNameList().get(0).getText()
@@ -217,6 +234,8 @@ public class AspectStructureViewElement implements StructureViewTreeElement, Sor
             return new AspectStructureViewElement((JastAddAspectAspectFieldDeclarationImpl) decl.getAspectFieldDeclaration());
           } else if (decl.getAspectConstructorDeclaration()!= null) {
             return new AspectStructureViewElement((JastAddAspectAspectConstructorDeclarationImpl) decl.getAspectConstructorDeclaration());
+          }else if (decl.getAspectRewrite()!= null) {
+            return new AspectStructureViewElement((JastAddAspectAspectRewriteImpl) decl.getAspectRewrite());
           }
           return null;
         })
@@ -227,7 +246,6 @@ public class AspectStructureViewElement implements StructureViewTreeElement, Sor
 
     // aspect_refine_method_declaration
     // aspect_refine_constructor_declaration
-    // aspect_rewrite
     // aspect_add_interface
     // aspect_extend_interface
 
diff --git a/src/main/java/org/jastadd/tooling/util/JastAddIcons.java b/src/main/java/org/jastadd/tooling/util/JastAddIcons.java
index 898c025802d254586501a1b8c90dd9085e2e0a3f..86cf9542d6e2ddd0b0022003703eac9a30a90ff2 100644
--- a/src/main/java/org/jastadd/tooling/util/JastAddIcons.java
+++ b/src/main/java/org/jastadd/tooling/util/JastAddIcons.java
@@ -14,6 +14,7 @@ public class JastAddIcons {
   public static final Icon INH_ATTRIBUTE = ATTRIBUTE;
   public static final Icon SYN_ATTRIBUTE = ATTRIBUTE;
   public static final Icon INTERTYPE_DECL = IconLoader.getIcon("/META-INF/intertypeIcon.svg", JastAddIcons.class);
+  public static final Icon REWRITE = IconLoader.getIcon("/META-INF/rewriteIcon.svg", JastAddIcons.class);
 
   private JastAddIcons() {
     throw new IllegalStateException("Utility class");