Index: /CKEditor/tests/dt/core/dom/walker.html
===================================================================
--- /CKEditor/tests/dt/core/dom/walker.html	(revision 4486)
+++ /CKEditor/tests/dt/core/dom/walker.html	(revision 4487)
@@ -326,4 +326,9 @@
 
 		},
+
+		test_nbsp_is_visible : function ()
+		{
+			assert.isTrue( !!CKEDITOR.dom.walker.invisible( true )( doc.getById( 'nbsp' ).getFirst() ) );
+		},
 		name : document.title
 	};
@@ -336,4 +341,5 @@
 <body>
 	<div id="playground"></div>
+	<span id="nbsp">&nbsp;</span>
 </body>
 </html>
Index: /CKEditor/tests/tt/3165/1.html
===================================================================
--- /CKEditor/tests/tt/3165/1.html	(revision 4486)
+++ /CKEditor/tests/tt/3165/1.html	(revision 4487)
@@ -19,4 +19,5 @@
 	ts.add( tc = new YAHOO.tool.TestCase(
 		{
+//			shouldIgnoreAllBut : [ 'test_enterkey_before_nestedList' ],
 			setUp : function ()
 			{
@@ -102,18 +103,52 @@
 					{
 						if( !CKEDITOR.env.ie )
-							assert.areSame( '<ol><li>level1</li><li><br><ol><li>level2</li></ol></li></ol>', editor.getSnapshot() );
+							assert.areSame( '<ol><li>level1</li><li><br><ol><li>level2</li></ol></li></ol>', test.fixHtml( editor.getSnapshot(), true, true ) );
 						else
-							assert.areSame( '<ol><li>level1</li><li>&nbsp;<ol><li>level2</li></ol></li></ol>', editor.getSnapshot() );
+							assert.areSame( '<ol><li>level1</li><li>&nbsp;<ol><li>level2</li></ol></li></ol>', test.fixHtml( editor.getSnapshot(), true, true ) );
 					});
 				} );
 				tc.wait();
 			},
-			
+
+			test_extend_nested_list_for_display2: function()
+			{
+				var editor = ts.editor,
+					nestedList = '<ol><li>level1</li><li>test&nbsp;<ol><li>level2</li></ol></li></ol>';
+				editor.setData( nestedList, function()
+				{
+					tc.resume( function ()
+					{
+							assert.areSame( '<ol><li>level1</li><li>test<ol><li>level2</li></ol></li></ol>', test.fixHtml( editor.getSnapshot() ) );
+					});
+				} );
+				tc.wait();
+			},
+
 			test_extend_nested_list_for_output: function()
 			{
 				var editor = ts.editor,
 					nestedList = '<ol><li>level1</li><li><br /><ol><li>level2</li></ol></li></ol>';
+				editor.loadSnapshot( nestedList );
 				assert.areSame( '<ol><li>level1</li><li>&nbsp;<ol><li>level2</li></ol></li></ol>', editor.getData() );
+			},
+
+			// Test filler nodes should not be in the output.
+			test_extend_nested_list_for_output2: function()
+			{
+				var editor = ts.editor,
+					nestedList = '<ol><li>level1</li><li>text<br /><ol><li>level2</li></ol></li></ol>';
+				editor.loadSnapshot( nestedList );
+				assert.areSame( '<ol><li>level1</li><li>text<ol><li>level2</li></ol></li></ol>', editor.getData() );
+			},
+
+			// Test filler nodes should not be in the output.
+			test_extend_nested_list_for_output3: function()
+			{
+				var editor = ts.editor,
+					nestedList = '<ol><li>level1</li><li>text\n&nbsp;<ol><li>level2</li></ol></li></ol>';
+				editor.loadSnapshot( nestedList );
+				assert.areSame( '<ol><li>level1</li><li>text<ol><li>level2</li></ol></li></ol>', editor.getData() );
 			}
+
 		} ) );
 } )();
