Index: _source/plugins/list/plugin.js
===================================================================
--- _source/plugins/list/plugin.js	(revision 5367)
+++ _source/plugins/list/plugin.js	(revision )
@@ -234,6 +234,8 @@
 		newList.listNode.replace( groupObj.root );
 	}
 
+	var headerTagRegex = /^h[1-6]$/;
+
 	function createList( editor, groupObj, listsCreated )
 	{
 		var contents = groupObj.contents,
@@ -285,8 +287,17 @@
 		{
 			var contentBlock = listContents.shift(),
 				listItem = doc.createElement( 'li' );
+
+			// Preserve heading structure when converting to list item. (#5271)
+			if ( headerTagRegex.test( contentBlock.getName() ) )
+				contentBlock.appendTo( listItem );
+			else
+			{
+				contentBlock.copyAttributes( listItem );
-			contentBlock.moveChildren( listItem );
-			contentBlock.remove();
+				contentBlock.moveChildren( listItem );
+				contentBlock.remove();
+			}
+
 			listItem.appendTo( listNode );
 
 			// Append a bogus BR to force the LI to render at full height
