Index: Elements.js
===================================================================
--- Elements.js	(revision 9558)
+++ Elements.js	(working copy)
@@ -512,9 +512,10 @@
             (className == "OpenLayers.Geometry.MultiPoint") ||
             (className == "OpenLayers.Geometry.MultiLineString") ||
             (className == "OpenLayers.Geometry.MultiPolygon")) {
-            for (var i = 0, len=geometry.components.length; i<len; i++) {
+            for (var i = 0, len = geometry.components.length; i < len; i++) {
+                var geom = geometry.components[i];
                 rendered = this.drawGeometry(
-                    geometry.components[i], style, featureId) && rendered;
+                    geom, this.getGeometryComponentStyle(geom, style), featureId) && rendered;
             }
             return rendered;
         };
@@ -541,6 +542,27 @@
         return rendered;
     },
     
+    /** 
+    * Method: getGeometryComponentStyle 
+    * Extracts the correct style with which to render a geometry component when rendering 
+    * a collection type geometry 
+    * Parameters:
+    * geometry - {<OpenLayers.Geometry>}
+    * srcStyle - {Object}
+    * Returns:
+    * {Object} containing symbolization data
+    */
+    getGeometryComponentStyle: function(geometry, srcStyle) {
+        switch (geometry.CLASS_NAME) {
+            case "OpenLayers.Geometry.Point":
+                return srcStyle.Point || srcStyle;
+            case "OpenLayers.Geometry.LineString":
+                return srcStyle.Line || srcStyle;
+            case "OpenLayers.Geometry.Polygon":
+                return srcStyle.Polygon || srcStyle;
+        }
+        return srcStyle;
+    },   
     /**
      * Method: redrawNode
      * 
