Index: /FCKeditor/trunk/editor/_source/classes/fckenterkey.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 717)
+++ /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 718)
@@ -192,7 +192,8 @@
 			bCustom = this._ExecuteBackspace( oRange, ePrevious, oCurrentBlock ) ;
 		}
-		else if ( FCKBrowserInfo.IsGecko )
-		{
-			// Firefox looses the selection when executing CheckStartOfBlock, so we must reselect.
+		else if ( FCKBrowserInfo.IsGeckoLike )
+		{
+			// Firefox and Opera (#1095) loose the selection when executing
+			// CheckStartOfBlock, so we must reselect.
 			oRange.Select() ;
 		}
Index: /FCKeditor/trunk/editor/_source/classes/fckw3crange.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckw3crange.js	(revision 717)
+++ /FCKeditor/trunk/editor/_source/classes/fckw3crange.js	(revision 718)
@@ -219,11 +219,4 @@
 		var removeStartNode	= false ;
 		var removeEndNode	= false ;
-		
-		if ( FCKBrowserInfo.IsOpera )
-		{
-			this._OperaSelection = this._Document.parentWindow.getSelection() ;
-			this._OldEndNode = endNode ;
-			this._OldStartNode = startNode ;
-		}
 
 		// Check the start and end nodes and make the necessary removals or changes.
@@ -235,15 +228,5 @@
 		// second part. The removal will be handled by the rest of the code .
 		if ( endNode.nodeType == 3 )
-		{
 			endNode = endNode.splitText( endOffset ) ;
-			if ( FCKBrowserInfo.IsOpera )
-			{
-				var range = this._Document.createRange() ;
-				range.setStart( this._OldEndNode, this._OldEndNode.nodeValue.length ) ;
-				range.setEnd( this._OldEndNode, this._OldEndNode.nodeValue.length ) ;
-				this._OperaSelection.removeAllRanges() ;
-				this._OperaSelection.addRange( range ) ;
-			}
-		}
 		else
 		{
