Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 5927)
+++ /CKEditor/trunk/CHANGES.html	(revision 5928)
@@ -60,4 +60,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6408">#6408</a> : [IE] Autogrow now works correctly on Quirks.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/6420">#6420</a> : [IE] The table properties dialog now correctly retrieves the caption text.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/6141">#6141</a> : It was impossible to outdent a list when indentOffset was set to 0.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.ckeditor.com/ticket/6427">#6427</a> : Ukrainian;</li>
Index: /CKEditor/trunk/_source/plugins/indent/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/indent/plugin.js	(revision 5927)
+++ /CKEditor/trunk/_source/plugins/indent/plugin.js	(revision 5928)
@@ -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 using indent classes or when there is something to outdent. (#6141)
+					if ( !( indentWholeList &&
+						( self.name == 'indent' || self.useIndentClasses || parseInt( nearestListBlock.getStyle( getIndentCssProperty( nearestListBlock ) ), 10 ) ) &&
+							indentElement( nearestListBlock ) ) )
+								indentList( nearestListBlock );
 				}
 				else
