Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 5916)
+++ /CKEditor/trunk/CHANGES.html	(revision 5917)
@@ -54,4 +54,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6237">#6237</a> : BIDI: Applying same language direction to all paragraphs not working.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/6353">#6353</a> : [IE] Resize was broken with office2003 and v2 skins.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/6141">#6141</a> : Outdenting list when indentOffset = 0 didn't work.</li>
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_source/plugins/indent/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/indent/plugin.js	(revision 5916)
+++ /CKEditor/trunk/_source/plugins/indent/plugin.js	(revision 5917)
@@ -257,6 +257,6 @@
 				else
 				{
-					var indentCssProperty = getIndentCssProperty( element );
-					var currentOffset = parseInt( element.getStyle( indentCssProperty ), 10 );
+					var indentCssProperty = getIndentCssProperty( element ),
+						currentOffset = parseInt( element.getStyle( indentCssProperty ), 10 );
 					if ( isNaN( currentOffset ) )
 						currentOffset = 0;
@@ -284,5 +284,5 @@
 			var skipBookmarks = function( node )
 			{
-				return ! node.hasAttribute( '_cke_bookmark' );
+				return !node.hasAttribute( '_cke_bookmark' );
 			};
 
@@ -322,5 +322,5 @@
 				}
 
-				if ( nearestListBlock  )
+				if ( nearestListBlock )
 				{
 					var firstListItem = nearestListBlock.getFirst( function( node )
@@ -331,7 +331,10 @@
 						indentWholeList = firstListItem.equals( rangeStart ) || firstListItem.contains( rangeStart );
 
-					// Indent the entire list if  cursor is inside the first list item. (#3893)
-					if ( !( indentWholeList && indentElement( nearestListBlock ) ) )
-						indentList( nearestListBlock );
+					// Indent the entire list if cursor is inside the first list item. (#3893)
+					// Only do that for indenting or when there is something to outdent. (#6141)
+					if ( !( indentWholeList &&
+						( self.name == 'indent' || parseInt( nearestListBlock.getStyle( getIndentCssProperty( nearestListBlock ) ), 10 ) ) &&
+						indentElement( nearestListBlock ) ) )
+							indentList( nearestListBlock );
 				}
 				else
