Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 6975)
+++ /CKEditor/trunk/CHANGES.html	(revision 6976)
@@ -82,4 +82,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/7749">#7749</a> : Small check introduced to avoid issues with custom data processors and the insertHtml function.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/7269">#7269</a> : [WebKit] Paste from Word was including the full "file://" URL for anchor links.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/7584">#7584</a> : Start number of list style dialog now works with numbered list items.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.ckeditor.com/ticket/7834">#7834</a> : Dutch;</li>
Index: /CKEditor/trunk/_source/plugins/liststyle/dialogs/liststyle.js
===================================================================
--- /CKEditor/trunk/_source/plugins/liststyle/dialogs/liststyle.js	(revision 6975)
+++ /CKEditor/trunk/_source/plugins/liststyle/dialogs/liststyle.js	(revision 6976)
@@ -15,4 +15,6 @@
 		return range.getCommonAncestor().getAscendant( listTag, 1 );
 	}
+
+	var listItem = function( node ) { return node.type == CKEDITOR.NODE_ELEMENT && node.is( 'li' ); };
 
 	var mapListStyle = {
@@ -139,9 +141,15 @@
 										setup : function( element )
 										{
-											var value = element.getAttribute( 'start' ) || 1;
+											// List item start number dominates.
+											var value = element.getFirst( listItem ).getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1;
 											value && this.setValue( value );
 										},
 										commit : function( element )
 										{
+											var firstItem = element.getFirst( listItem );
+											var oldStart = firstItem.getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1;
+
+											// Force start number on list root.
+											element.getFirst( listItem ).removeAttribute( 'value' );
 											var val = parseInt( this.getValue(), 10 );
 											if ( isNaN( val ) )
@@ -149,4 +157,12 @@
 											else
 												element.setAttribute( 'start', val );
+
+											// Update consequent list item numbering.
+											var nextItem = firstItem, conseq = oldStart, startNumber = isNaN( val ) ? 1 : val;
+											while ( ( nextItem = nextItem.getNext( listItem ) ) && conseq++ )
+											{
+												if ( nextItem.getAttribute( 'value' ) == conseq )
+													nextItem.setAttribute( 'value', startNumber + conseq - oldStart );
+											}
 										}
 									},
