Index: /CKEditor/trunk/_source/plugins/wysiwygarea/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/wysiwygarea/plugin.js	(revision 3167)
+++ /CKEditor/trunk/_source/plugins/wysiwygarea/plugin.js	(revision 3168)
@@ -67,9 +67,10 @@
 		{
 			var $doc = this.document.$;
+			var data = protectHtml( evt.data );
 
 			if ( CKEDITOR.env.ie )
-				$doc.selection.createRange().pasteHTML( evt.data );
+				$doc.selection.createRange().pasteHTML( data );
 			else
-				$doc.execCommand( 'inserthtml', false, evt.data );
+				$doc.execCommand( 'inserthtml', false, data );
 		}
 	};
@@ -82,4 +83,20 @@
 	};
 	// ### protectCkeTags - END
+	
+	function protectHtml( html )
+	{
+		// Prevent event attributes (like "onclick") to
+		// execute while editing.
+		if ( CKEDITOR.env.ie || CKEDITOR.env.webkit )
+			html = protectEvents( html );
+
+		// Protect src or href attributes.
+		html = protectUrls( html );
+
+		// Protect cke prefixed tags.
+		html = protectCkeTags( html );
+
+		return html;
+	}
 
 	var onInsertElement = function( evt )
@@ -300,15 +317,5 @@
 									data = data.replace( invalidSelfCloseTagsRegex, '$1></$2>' );
 
-								// Prevent event attributes (like "onclick") to
-								// execute while editing.
-								if ( CKEDITOR.env.ie || CKEDITOR.env.webkit )
-									data = protectEvents( data );
-
-								// Protect src or href attributes.
-								data = protectUrls( data );
-
-								// Protect cke prefixed tags.
-								data = protectCkeTags( data );
-
+								data = protectHtml( data );
 								data =
 									editor.config.docType +
