Index: plugins/htmldataprocessor/plugin.js
===================================================================
--- plugins/htmldataprocessor/plugin.js	(revision 5386)
+++ plugins/htmldataprocessor/plugin.js	(working copy)
@@ -132,7 +132,7 @@
 							return false;
 
 						// Remove duplicated attributes - #3789.
-						var attributeNames = [ 'name', 'href', 'src' ],
+						var attributeNames = [ 'name', 'href', 'src', 'style' ],
 							savedAttributeName;
 						for ( var i = 0 ; i < attributeNames.length ; i++ )
 						{
@@ -230,17 +230,8 @@
 	for ( i in blockLikeTags )
 		defaultHtmlBlockFilterRules.elements[ i ] = extendBlockForOutput;
 
-	if ( CKEDITOR.env.ie )
-	{
-		// IE outputs style attribute in capital letters. We should convert
-		// them back to lower case.
-		defaultHtmlFilterRules.attributes.style = function( value, element )
-		{
-			return value.toLowerCase();
-		};
-	}
-
 	var protectAttributeRegex = /<(?:a|area|img|input)[\s\S]*?\s((?:href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+)))/gi;
+	var protectStyleRegex = /\s(style\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+)))/gi;
 
 	var protectElementsRegex = /(?:<style(?=[ >])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,
 		encodedElementsRegex = /<cke:encoded>([^<]*)<\/cke:encoded>/gi;
@@ -252,7 +243,7 @@
 
 	function protectAttributes( html )
 	{
-		return html.replace( protectAttributeRegex, '$& _cke_saved_$1' );
+		return html.replace( protectAttributeRegex, '$& _cke_saved_$1' ).replace( protectStyleRegex, '$& _cke_saved_$1' );
 	}
 
 	function protectElements( html )
