Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 3902)
+++ /CKEditor/trunk/CHANGES.html	(revision 3903)
@@ -132,10 +132,11 @@
 		<li><a href="http://dev.fckeditor.net/ticket/3836">#3836</a> : Fixed remove list in enterMode=BR will merge sibling text to one line.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/3949">#3949</a> : Fixed enterKey within pre-formatted text introduce wrong line-break.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/3878">#3878</a> : Whenever possible, 
-			dialogs will not present scrollbars if the content is too big for its standard 
-			size.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3878">#3878</a> : Whenever possible,
+		dialogs will not present scrollbars if the content is too big for its standard
+		size.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3782">#3782</a> : Remove empty list in table cell result in collapsed cell.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.fckeditor.net/ticket/3837">#3837</a> : Brazilian Portuguese.</li>
-			</ul>
+		</ul>
 		</li>
 	</ul>
Index: /CKEditor/trunk/_source/plugins/list/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/list/plugin.js	(revision 3902)
+++ /CKEditor/trunk/_source/plugins/list/plugin.js	(revision 3903)
@@ -117,5 +117,6 @@
 						currentListItem.append( item.contents[i].clone( true, true ) );
 
-					if ( currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT )
+					if ( currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT
+						 && currentIndex != listArray.length - 1 )
 					{
 						if ( currentListItem.getLast()
@@ -345,12 +346,9 @@
 			editor.document.createElement( 'br' ).insertBefore( firstNode );
 
-		// If groupObj.root is the last element in its parent, or its nextSibling is a <br>, then we should
-		// not add a <br> after the final item. So, check for the cases and trim the <br>.
-		if ( !groupObj.root.getNext() || groupObj.root.getNext().$.nodeName.toLowerCase() == 'br' )
-		{
-			if ( newList.listNode.getLast().$.nodeName.toLowerCase() == 'br' )
-				newList.listNode.getLast().remove();
-		}
+		var rootParent = groupObj.root.getParent();
 		docFragment.replace( groupObj.root );
+		// The list content might be empty.(#3782)
+		if( !CKEDITOR.env.ie && rootParent )
+			rootParent.appendBogus();
 	}
 
