Index: _whatsnew.html
===================================================================
--- _whatsnew.html	(revision 1728)
+++ _whatsnew.html	(working copy)
@@ -92,6 +92,8 @@
 			opened.</li>
 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2024">#2024</a>] Fixed
 			JavaScript error in IE when the user tries to open dialogs in Source mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1853">#1853</a>] Setting
+			ShiftEnterMode to p or div now works correctly when EnterMode is br.</li>
 	</ul>
 	<h3>
 		Version 2.6 Beta 1</h3>
Index: editor/_source/classes/fckdomrange.js
===================================================================
--- editor/_source/classes/fckdomrange.js	(revision 1728)
+++ editor/_source/classes/fckdomrange.js	(working copy)
@@ -755,8 +755,10 @@
 	 * and the PreviousBlock value will be null. The same is valid for the
 	 * NextBlock value if the range was at the end of the block.
 	 */
-	SplitBlock : function()
+	SplitBlock : function( forceBlockTag )
 	{
+		var blockTag = forceBlockTag || FCKConfig.EnterMode ;
+
 		if ( !this._Range )
 			this.MoveToSelection() ;
 
@@ -768,16 +770,16 @@
 			var eEndBlock		= this.EndBlock ;
 			var oElementPath	= null ;
 
-			if ( FCKConfig.EnterMode != 'br' )
+			if ( blockTag != 'br' )
 			{
 				if ( !eStartBlock )
 				{
-					eStartBlock = this.FixBlock( true ) ;
+					eStartBlock = this.FixBlock( true, blockTag ) ;
 					eEndBlock	= this.EndBlock ;	// FixBlock may have fixed the EndBlock too.
 				}
 
 				if ( !eEndBlock )
-					eEndBlock = this.FixBlock( false ) ;
+					eEndBlock = this.FixBlock( false, blockTag ) ;
 			}
 
 			// Get the range position.
@@ -840,7 +842,7 @@
 	},
 
 	// Transform a block without a block tag in a valid block (orphan text in the body or td, usually).
-	FixBlock : function( isStart )
+	FixBlock : function( isStart, blockTag )
 	{
 		// Bookmark the range so we can restore it later.
 		var oBookmark = this.CreateBookmark() ;
@@ -852,7 +854,7 @@
 		this.Expand( 'block_contents' ) ;
 
 		// Create the fixed block.
-		var oFixedBlock = this.Window.document.createElement( FCKConfig.EnterMode ) ;
+		var oFixedBlock = this.Window.document.createElement( blockTag ) ;
 
 		// Move the contents of the temporary range to the fixed block.
 		this.ExtractContents().AppendTo( oFixedBlock ) ;
Index: editor/_source/classes/fckenterkey.js
===================================================================
--- editor/_source/classes/fckenterkey.js	(revision 1728)
+++ editor/_source/classes/fckenterkey.js	(working copy)
@@ -398,7 +398,7 @@
 	// Get the current selection.
 	var oRange = range || new FCKDomRange( this.Window ) ;
 
-	var oSplitInfo = oRange.SplitBlock() ;
+	var oSplitInfo = oRange.SplitBlock( blockTag ) ;
 
 	if ( oSplitInfo )
 	{
