Index: _source/core/dom/element.js
===================================================================
--- _source/core/dom/element.js	(revision 3456)
+++ _source/core/dom/element.js	(working copy)
@@ -239,15 +239,17 @@
 			var lastChild = this.getLast() ;
 
 			// Ignore empty/spaces text.
-			while ( lastChild && lastChild.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.rtrim( lastChild.getText() ) )
+			while ( lastChild && lastChild.type == CKEDITOR.NODE_TEXT 
+				&& !CKEDITOR.tools.rtrim( lastChild.getText() ) )
 				lastChild = lastChild.getPrevious();
 
-			if ( !lastChild || ( lastChild.is && ( !lastChild.is( 'br' ) || !lastChild.getAttribute( '_cke_bogus' ) ) ) )
+			// Padding br already existed? 
+			if ( !lastChild || ( lastChild.is && !lastChild.is( 'br' ) ) )
 			{
-				this.append(
-					CKEDITOR.env.opera ?
-						this.getDocument().createText('') :
-						this.getDocument().createElement( 'br', { attributes : { _cke_bogus : 1 } } ) );
+				// See whether the block has some line content, 
+				// empty spaces are ingnored since it's unable to establish line height.
+				if ( !CKEDITOR.tools.trim( this.getText() ) )
+					this.append( this.getDocument().createElement( 'br', { attributes : { _cke_bogus : 1 } } ) );
 			}
 		},
 
