diff --git a/src/main/org/codehaus/groovy/ast/ClassNode.java b/src/main/org/codehaus/groovy/ast/ClassNode.java
index <HASH>..<HASH> 100644
--- a/src/main/org/codehaus/groovy/ast/ClassNode.java
+++ b/src/main/org/codehaus/groovy/ast/ClassNode.java
@@ -1385,7 +1385,9 @@ public class ClassNode extends AnnotatedNode implements Opcodes {
         ClassNode n = new ClassNode(name, modifiers, superClass,null,null);
         n.isPrimaryNode = false;
         n.setRedirect(redirect());
-        n.componentType = redirect().getComponentType();
+        if (isArray()) {
+            n.componentType = redirect().getComponentType();
+        } 
         return n;
     }
prevent setting component type if not needed (even if it might be null, but special classnodes may not expect this call)