Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 7406)
+++ /CKEditor/trunk/CHANGES.html	(revision 7407)
@@ -74,4 +74,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6666">#6666</a> : Removed references to element.all.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/8732">#8732</a> : Fixed issue when CKEDITOR.range::enlarge passes through comment nodes.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/7492">#7492</a> : Enable in the Style system to use overrides with the same element (change classes instead of nesting).</li>
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_samples/output_xhtml.html
===================================================================
--- /CKEditor/trunk/_samples/output_xhtml.html	(revision 7406)
+++ /CKEditor/trunk/_samples/output_xhtml.html	(revision 7407)
@@ -99,5 +99,6 @@
 						{
 								element		: 'span',
-								attributes		: { 'class' : '#(family)' }
+								attributes		: { 'class' : '#(family)' },
+								overrides	: [ { element : 'span', attributes : { 'class' : /^Font(?:Comic|Courier|Times)$/ } } ]
 						},
 
@@ -109,5 +110,6 @@
 							{
 								element		: 'span',
-								attributes	: { 'class' : '#(size)' }
+								attributes	: { 'class' : '#(size)' },
+								overrides	: [ { element : 'span', attributes : { 'class' : /^Font(?:Smaller|Larger|Small|Big|Double)$/ } } ]
 							} ,
 
@@ -121,5 +123,6 @@
 							{
 								element : 'span',
-								attributes : { 'class' : '#(color)' }
+								attributes : { 'class' : '#(color)' },
+								overrides	: [ { element : 'span', attributes : { 'class' : /^FontColor(?:1|2|3)$/ } } ]
 							},
 
@@ -127,5 +130,6 @@
 							{
 								element : 'span',
-								attributes : { 'class' : '#(color)BG' }
+								attributes : { 'class' : '#(color)BG' },
+								overrides	: [ { element : 'span', attributes : { 'class' : /^FontColor(?:1|2|3)BG$/ } } ]
 							},
 
Index: /CKEditor/trunk/_source/plugins/styles/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/styles/plugin.js	(revision 7406)
+++ /CKEditor/trunk/_source/plugins/styles/plugin.js	(revision 7407)
@@ -1133,6 +1133,7 @@
 	{
 		var def = style._.definition,
-			attributes = CKEDITOR.tools.extend( {}, def.attributes, getOverrides( style )[ element.getName() ] ),
+			attributes = def.attributes,
 			styles = def.styles,
+			overrides = getOverrides( style )[ element.getName() ],
 			// If the style is only about the element itself, we have to remove the element.
 			removeEmpty = CKEDITOR.tools.isEmpty( attributes ) && CKEDITOR.tools.isEmpty( styles );
@@ -1160,4 +1161,7 @@
 		}
 
+		// Remove overrides, but don't remove the element if it's a block element
+		removeOverrides( element, overrides, blockElements[ element.getName() ] ) ;
+
 		if ( removeEmpty )
 		{
@@ -1201,6 +1205,7 @@
 	 * @param {Object} element
 	 * @param {Object} overrides
+	 * @param {Boolean} Don't remove the element
 	 */
-	function removeOverrides( element, overrides )
+	function removeOverrides( element, overrides, dontRemove )
 	{
 		var attributes = overrides && overrides.attributes ;
@@ -1230,5 +1235,6 @@
 		}
 
-		removeNoAttribsElement( element );
+		if ( !dontRemove )
+			removeNoAttribsElement( element );
 	}
 
