Index: _source/plugins/format/plugin.js
===================================================================
--- _source/plugins/format/plugin.js	(revision 5400)
+++ _source/plugins/format/plugin.js	(working copy)
@@ -21,6 +21,7 @@
 		{
 			var tag = tags[ i ];
 			styles[ tag ] = new CKEDITOR.style( config[ 'format_' + tag ] );
+			styles[ tag ]._.enterMode = editor.config.enterMode;
 		}
 
 		editor.ui.addRichCombo( 'Format',
Index: _source/plugins/styles/plugin.js
===================================================================
--- _source/plugins/styles/plugin.js	(revision 5400)
+++ _source/plugins/styles/plugin.js	(working copy)
@@ -752,6 +752,10 @@
 
 		var iterator = range.createIterator();
 		iterator.enforceRealBlocks = true;
+		
+		// make recognize <br /> tag as a separator in ENTER_BR mode (#5121)
+		if ( this._.enterMode ) 
+			iterator.enlargeBr = ( this._.enterMode != CKEDITOR.ENTER_BR );
 
 		var block;
 		var doc = range.document;
Index: _source/plugins/stylescombo/plugin.js
===================================================================
--- _source/plugins/stylescombo/plugin.js	(revision 5400)
+++ _source/plugins/stylescombo/plugin.js	(working copy)
@@ -34,6 +34,7 @@
 
 							style = styles[ styleName ] = new CKEDITOR.style( styleDefinition );
 							style._name = styleName;
+							style._.enterMode = config.enterMode;
 
 							stylesList.push( style );
 						}
