Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 6112)
+++ /CKEditor/trunk/CHANGES.html	(revision 6113)
@@ -58,4 +58,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6640">#6640</a> : Floating panels are now being closed when switching modes.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/4790">#4790</a> : Remove list with multiple items in enterBr doesn't preserve line-breaks.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/6297">#6297</a> : Floated inline elements are no anymore acting in behavior of blocks.</li>
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_source/core/dom/walker.js
===================================================================
--- /CKEditor/trunk/_source/core/dom/walker.js	(revision 6112)
+++ /CKEditor/trunk/_source/core/dom/walker.js	(revision 6113)
@@ -335,14 +335,13 @@
 		'table-cell' : 1,
 		'table-caption' : 1
-	},
-	blockBoundaryNodeNameMatch = { hr : 1 };
+	};
 
 	CKEDITOR.dom.element.prototype.isBlockBoundary = function( customNodeNames )
 	{
-		var nodeNameMatches = CKEDITOR.tools.extend( {},
-													blockBoundaryNodeNameMatch, customNodeNames || {} );
-
-		return blockBoundaryDisplayMatch[ this.getComputedStyle( 'display' ) ] ||
-			nodeNameMatches[ this.getName() ];
+		var nodeNameMatches = CKEDITOR.tools.extend( {}, CKEDITOR.dtd.$block, customNodeNames || {} );
+
+		// Don't consider floated formatting as block boundary, fall back to dtd check in that case. (#6297)  
+		return this.getComputedStyle( 'float' ) == 'none' && blockBoundaryDisplayMatch[ this.getComputedStyle( 'display' ) ]
+				|| nodeNameMatches[ this.getName() ];
 	};
 
