diff --git a/dev/core/src/com/google/gwt/dev/javac/GwtIncompatiblePreprocessor.java b/dev/core/src/com/google/gwt/dev/javac/GwtIncompatiblePreprocessor.java
index 862ed1c..426cb53 100644
--- a/dev/core/src/com/google/gwt/dev/javac/GwtIncompatiblePreprocessor.java
+++ b/dev/core/src/com/google/gwt/dev/javac/GwtIncompatiblePreprocessor.java
@@ -146,14 +146,17 @@
    * Removes all members of a class to leave it as an empty stub.
    */
   private static void stripAllMembers(TypeDeclaration tyDecl) {
+    if (TypeDeclaration.kind(tyDecl.modifiers) == TypeDeclaration.ANNOTATION_TYPE_DECL) {
+      // Do not modify annotations at all.
+      return;
+    }
     tyDecl.superclass = null;
     tyDecl.superInterfaces = new TypeReference[0];
     tyDecl.annotations = new Annotation[0];
     tyDecl.methods = new AbstractMethodDeclaration[0];
     tyDecl.memberTypes = new TypeDeclaration[0];
     tyDecl.fields = new FieldDeclaration[0];
-    if (TypeDeclaration.kind(tyDecl.modifiers) != TypeDeclaration.INTERFACE_DECL &&
-        TypeDeclaration.kind(tyDecl.modifiers) != TypeDeclaration.ENUM_DECL) {
+    if (TypeDeclaration.kind(tyDecl.modifiers) == TypeDeclaration.CLASS_DECL) {
       // Create a default constructor so that the class is proper.
       ConstructorDeclaration constructor = tyDecl.createDefaultConstructor(true, true);
       // Mark only constructor as private so that it can not be instantiated.
diff --git a/dev/core/test/com/google/gwt/dev/javac/GwtIncompatibleJdtCompilerTest.java b/dev/core/test/com/google/gwt/dev/javac/GwtIncompatibleJdtCompilerTest.java
index 261fe79..86bbb6a 100644
--- a/dev/core/test/com/google/gwt/dev/javac/GwtIncompatibleJdtCompilerTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/GwtIncompatibleJdtCompilerTest.java
@@ -80,6 +80,10 @@
         "GwtIncompatibleWithStaticInnerClass.Child cannot be resolved to a type");
   }
 
+  public void testCompileGwtIncompatibleAnnotation() throws Exception {
+    assertResourcesCompileSuccessfully(GWTINCOMPATIBLE_ANNOTATION, GWTINCOMPATIBLE_ANNOTATION_TYPE);
+  }
+
   public static final MockJavaResource GWTINCOMPATIBLE_ANNOTATION = new MockJavaResource(
       "com.google.gwt.GwtIncompatible") {
     @Override
@@ -245,5 +249,16 @@
       "}");
     }
   };
+
+  public static final MockJavaResource GWTINCOMPATIBLE_ANNOTATION_TYPE = new MockJavaResource(
+      "com.google.gwt.GwtIncompatibleAnnotation") {
+    @Override
+    public CharSequence getContent() {
+      return Joiner.on("\n").join("package com.google.gwt;",
+          "@GwtIncompatible(\" not compatible \") ",
+          "public @interface GwtIncompatibleAnnotation {",
+          "}");
+    }
+  };
 }
 
