OLCpatches[OLCpatches.length] = ["OpenLayers.Style.prototype.applySymbolizer ", "OpenLayers.Style.prototype.applySymbolizer.js"];
OpenLayers.Style.prototype.applySymbolizer = function(rule, style, feature)
{
    var symbolizerPrefix = feature.geometry ?
            this.getSymbolizerPrefix(feature.geometry) :
            OpenLayers.Style.SYMBOLIZER_PREFIXES[0];

    var symbolizer = rule.symbolizer[symbolizerPrefix] || rule.symbolizer;
    // Ticket #2551 - apply text symbolizer if present
    if (typeof rule.symbolizer["Text"] === "object") {
        OpenLayers.Util.applyDefaults(
            symbolizer, rule.symbolizer["Text"]
        )
    }

    if(this.defaultsPerSymbolizer === true) {
        var defaults = this.defaultStyle;
        OpenLayers.Util.applyDefaults(symbolizer, {
            pointRadius: defaults.pointRadius
        });
        if(symbolizer.stroke === true || symbolizer.graphic === true) {
            OpenLayers.Util.applyDefaults(symbolizer, {
                strokeWidth: defaults.strokeWidth,
                strokeColor: defaults.strokeColor,
                strokeOpacity: defaults.strokeOpacity,
                strokeDashstyle: defaults.strokeDashstyle,
                strokeLinecap: defaults.strokeLinecap
            });
        }
        if(symbolizer.fill === true || symbolizer.graphic === true) {
            OpenLayers.Util.applyDefaults(symbolizer, {
                fillColor: defaults.fillColor,
                fillOpacity: defaults.fillOpacity
            });
        }
        if(symbolizer.graphic === true) {
            OpenLayers.Util.applyDefaults(symbolizer, {
                pointRadius: this.defaultStyle.pointRadius,
                externalGraphic: this.defaultStyle.externalGraphic,
                graphicName: this.defaultStyle.graphicName,
                graphicOpacity: this.defaultStyle.graphicOpacity,
                graphicWidth: this.defaultStyle.graphicWidth,
                graphicHeight: this.defaultStyle.graphicHeight,
                graphicXOffset: this.defaultStyle.graphicXOffset,
                graphicYOffset: this.defaultStyle.graphicYOffset
            });
        }
    }

    // merge the style with the current style
    return this.createLiterals(
            OpenLayers.Util.extend(style, symbolizer), feature);
}

