Index: _source/plugins/bidi/plugin.js
===================================================================
--- _source/plugins/bidi/plugin.js	(revision 5885)
+++ _source/plugins/bidi/plugin.js	(revision )
@@ -105,6 +105,24 @@
 	function getFullySelected( selection, elements )
 	{
 		var selectedElement = selection.getCommonAncestor();
+
+		var range = selection.getRanges()[ 0 ];
+		var selectionStart = range.startContainer;
+		var selectionEnd = range.endContainer;
+		var parent;
+
+		// Check if all elements children are included in the selection.
+		while ( ( parent = selectionStart.getParent() ) && parent.$ != selectedElement )
+			selectionStart = parent;
+
+		while ( ( parent = selectionEnd.getParent() ) && parent.$ != selectedElement )
+			selectionEnd = parent;
+
+		// TODO should we skip border text nodes here ?
+		if ( selectionStart.getIndex() > 0 || selectionStart.getIndex() + 1 < selectedElement.getChildCount() )
+			return null;
+
+		// Enlarge selection to all elements with only one child (but stop on elements we want).
 		while( selectedElement.type == CKEDITOR.NODE_ELEMENT
 				&& !( selectedElement.getName() in elements )
 				&& selectedElement.getParent().getChildCount() == 1
