Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 7003)
+++ /CKEditor/trunk/CHANGES.html	(revision 7004)
@@ -47,4 +47,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/7387">#7387</a> : Allow styleDefinitions that can be applied to a set of elements.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/4345">#4345</a> : Added the new "langLoaded" event to CKEDITOR.editor so "by code" language updates can be performed.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/7959">#7959</a> : Table insertion will blink cursor in the first cell.</li>
 	</ul>
 	<p>
Index: /CKEditor/trunk/_source/plugins/table/dialogs/table.js
===================================================================
--- /CKEditor/trunk/_source/plugins/table/dialogs/table.js	(revision 7003)
+++ /CKEditor/trunk/_source/plugins/table/dialogs/table.js	(revision 7004)
@@ -107,5 +107,5 @@
 			{
 				var selection = editor.getSelection(),
-					bms = selection.createBookmarks();
+					bms = this._.selectedElement && selection.createBookmarks();
 
 				var table = this._.selectedElement || makeElement( 'table' ),
@@ -223,11 +223,20 @@
 				// Insert the table element if we're creating one.
 				if ( !this._.selectedElement )
+				{
 					editor.insertElement( table );
-
+					// Override the default cursor position after insertElement to place
+					// cursor inside the first cell (#7959), IE needs a while.
+					setTimeout( function()
+						{
+							var firstCell = new CKEDITOR.dom.element( table.$.rows[ 0 ].cells[ 0 ] );
+							var range = new CKEDITOR.dom.range( editor.document );
+							range.moveToPosition( firstCell, CKEDITOR.POSITION_AFTER_START );
+							range.select( 1 );
+						}, 0 );
+				}
 				// Properly restore the selection, (#4822) but don't break
 				// because of this, e.g. updated table caption.
-				try { selection.selectBookmarks( bms ); } catch( er ){}
-
-				return true;
+				else
+					try { selection.selectBookmarks( bms ); } catch( er ){}
 			},
 			contents : [
