Index: DefaultVectorExtrusionPolygonRenderableLayer.java
===================================================================
--- DefaultVectorExtrusionPolygonRenderableLayer.java	(revision 771)
+++ DefaultVectorExtrusionPolygonRenderableLayer.java	(revision 772)
@@ -17,7 +17,6 @@
 import org.gvsig.fmap.geom.primitive.Point;
 import org.gvsig.fmap.geom.primitive.Polygon;
 import org.gvsig.fmap.geom.primitive.Ring;
-import org.gvsig.fmap.mapcontext.layers.FLayer;
 import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
 import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
 import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.IFillSymbol;
@@ -40,9 +39,7 @@
 
     public DefaultVectorExtrusionPolygonRenderableLayer(VectorLoaderParameters parameters, FeatureStore featureStore,
         IVectorLegend legend) {
-        super(parameters, featureStore);
-        this.normalShapeAttributes = getNormalShapeAttributes(legend);
-        this.sideShapeAttributes = getSideShapeAttributes(legend);
+        super(parameters, featureStore, legend);
     }
 
     @Override
@@ -111,8 +108,8 @@
             renderable.addInnerBoundary(getInteriorRing(polygon.getInteriorRing(i), hasZ, h));
         }
         renderable.setAltitudeMode(getAltitudeMode(this.parameters.getVectorElevationMode()));
-        renderable.setAttributes(normalShapeAttributes);
-        renderable.setSideAttributes(sideShapeAttributes);
+        renderable.setAttributes(getNormalShapeAttributes(legend));
+        renderable.setSideAttributes(getSideShapeAttributes(legend));
         return renderable;
     }
 
@@ -132,6 +129,11 @@
     }
 
     private BasicShapeAttributes getSideShapeAttributes(IVectorLegend legend) {
+        
+        if(this.sideShapeAttributes != null) {
+            return this.sideShapeAttributes;
+        }
+        
         Material sideFillMaterial = Material.GRAY;
         double fillOpacity = 0.7;
 
@@ -147,13 +149,18 @@
             sideFillMaterial = new Material(this.parameters.getDefaultColor());
             fillOpacity = 0.7;
         }
-        BasicShapeAttributes attr = new BasicShapeAttributes();
-        attr.setInteriorMaterial(sideFillMaterial);
-        attr.setInteriorOpacity(fillOpacity);
-        return attr;
+        sideShapeAttributes = new BasicShapeAttributes();
+        sideShapeAttributes.setInteriorMaterial(sideFillMaterial);
+        sideShapeAttributes.setInteriorOpacity(fillOpacity);
+        return sideShapeAttributes;
     }
 
     private BasicShapeAttributes getNormalShapeAttributes(IVectorLegend legend) {
+        
+        if(this.normalShapeAttributes != null) {
+            return this.normalShapeAttributes;
+        }
+        
         Material fillMaterial = Material.LIGHT_GRAY;
         Material outlineMaterial = Material.BLACK;
         double fillOpacity = 0.7;
@@ -176,12 +183,12 @@
             fillOpacity = 0.7;
             outlineWidth = 2;
         }
-        BasicShapeAttributes attr = new BasicShapeAttributes();
-        attr.setInteriorMaterial(fillMaterial);
-        attr.setInteriorOpacity(fillOpacity);
-        attr.setOutlineMaterial(outlineMaterial);
-        attr.setOutlineWidth(outlineWidth);
-        return attr;
+        normalShapeAttributes = new BasicShapeAttributes();
+        normalShapeAttributes.setInteriorMaterial(fillMaterial);
+        normalShapeAttributes.setInteriorOpacity(fillOpacity);
+        normalShapeAttributes.setOutlineMaterial(outlineMaterial);
+        normalShapeAttributes.setOutlineWidth(outlineWidth);
+        return normalShapeAttributes;
     }
 
     /**
@@ -196,8 +203,13 @@
         int r = color.getRed();
         int g = color.getGreen();
         int b = color.getBlue();
-        Color sideFillColor = new Color(Math.max((int) (r * factor), 0), Math.max((int) (g * factor), 0),
+        return new Color(Math.max((int) (r * factor), 0), Math.max((int) (g * factor), 0),
             Math.max((int) (b * factor), 0));
-        return sideFillColor;
     }
+
+    @Override
+    protected void clearRenderAttributes() {
+        this.normalShapeAttributes = null;
+        this.sideShapeAttributes = null;
+    }
 }
