Index: /CKEditor/tests/dt/adapters/jquery/1.html
===================================================================
--- /CKEditor/tests/dt/adapters/jquery/1.html	(revision 5083)
+++ /CKEditor/tests/dt/adapters/jquery/1.html	(revision 5084)
@@ -260,6 +260,6 @@
 							{
 								editor.dataProcessor.writer._.rules = {};
-								assert.areSame( '<p>foo bar</p>', editor.getData(), '1' );
-								assert.areSame( editor.getData(), formData[ 0 ][ 'value' ], '2' );
+								assert.areSame( '<p>foo bar</p>', editor.getData(), 'Compare editor data to awaited value.' );
+								assert.areSame( editor.getData(), formData[ 0 ][ 'value' ], 'Compare editor data to serialized form value.' );
 								testFinished = true;
 								cleanup( 'ajax_submit_textarea' );
@@ -279,4 +279,44 @@
 			testSelf.wait( function(){
 				cleanup( 'ajax_submit_textarea' );
+				assert.isTrue( testFinished, 'Test not finished.' );
+			}, testTimeout );
+		},
+
+		test_ajax_submit2 : function()
+		{
+			var testSelf = this,
+				testFinished = false;
+
+			jQuery( '#ajax_submit2 textarea' ).ckeditor(
+				{ autoUpdateElementJquery: true },
+				function( textarea )
+				{
+					var editor = this;
+					editor.dataProcessor.writer._.rules = {};
+
+					$( textarea ).one( 'setData.ckeditor', function()
+					{
+						jQuery('#ajax_submit2').ajaxSubmit(
+						{
+							beforeSubmit: function( formData )
+							{
+								testSelf.resume( function()
+								{
+									editor.dataProcessor.writer._.rules = {};
+									assert.areSame( '<p>foo bar</p>', editor.getData(), 'Compare editor data to awaited value.' );
+									assert.areSame( editor.getData(), formData[ 0 ][ 'value' ], 'Compare editor data to serialized form value.' );
+									testFinished = true;
+									cleanup( 'ajax_submit_textarea2' );
+								});
+								return false;
+							}
+						} );
+					} );
+
+					editor.setData( 'foo bar' );
+				} );
+
+			testSelf.wait( function(){
+				cleanup( 'ajax_submit_textarea2' );
 				assert.isTrue( testFinished, 'Test not finished.' );
 			}, testTimeout );
@@ -472,4 +512,8 @@
 			<input type="submit" value="Submit" />
 		</form>
+		<form action="/" method="post" id="ajax_submit2">
+			<textarea rows="10" cols="30" name="ajax_submit_textarea2" id="ajax_submit_textarea2">default</textarea>
+			<input type="submit" value="Submit" />
+		</form>
 		<div style="padding: 15px; background-color: lightblue;">
 			<div id="div_replace" style="width: 200px; height: 300px; background-color: black;">default</div>
Index: Editor/tests/dt/adapters/jquery/2.html
===================================================================
--- /CKEditor/tests/dt/adapters/jquery/2.html	(revision 5083)
+++ 	(revision )
@@ -1,51 +1,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-	<title>Plugin: jquery</title>
-	<meta name="tags" content="editor,unit">
-	<script type="text/javascript">
-		CKEDITOR_autoLoad_jqueryPlugin = true;
-	</script>
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
-	<script type="text/javascript" src="http://malsup.com/jquery/form/jquery.form.js"></script>
-	<script type="text/javascript" src="../../../cktester/cell.js"></script>
-	<script type="text/javascript" src="../../../../../_source/adapters/jquery.js"></script>
-	<script type="text/javascript">
-	//<![CDATA[
-
-// Load the required plugins and launch the runner.
-var runner = YAHOO.tool.TestRunner;
-runner.defer = true;
-
-$( window ).bind( 'load', function()
-{
-	runner.run();
-} );
-
-CKEDITOR.test.addTestCase( ( function()
-{
-	// Local references.
-	var assert = CKEDITOR.test.assert,
-		doc = CKEDITOR.document,
-		action = YAHOO.util.UserAction,
-		selector = YAHOO.util.Selector;
-
-	// Maximum time per each test. If test will take longer, failure will be thrown.
-	var testTimeout = 10000;
-
-	jQuery( 'textarea, input' ).val( 'default' );
-
-	return {
-		test_jquery_plugin_loaded : function()
-		{
-			assert.isTrue( typeof jQuery.fn.ckeditor == 'function' );
-		},
-		
-		name :document.title
-	};
-} )() );
-	</script>
-</head>
-<body>
-</body>
-</html>
Index: /CKEditor/trunk/_source/adapters/jquery.js
===================================================================
--- /CKEditor/trunk/_source/adapters/jquery.js	(revision 5083)
+++ /CKEditor/trunk/_source/adapters/jquery.js	(revision 5084)
@@ -184,8 +184,12 @@
 								$element.parents( 'form' ).submit( onSubmit );
 
+								// Bind to form-pre-serialize from jQuery Forms plugin.
+								$element.parents( 'form' ).bind( 'form-pre-serialize', onSubmit );
+
 								// Unbind when editor destroyed.
 								$element.bind( 'destroy.ckeditor', function()
 								{
 									$element.parents( 'form' ).unbind( 'submit', onSubmit );
+									$element.parents( 'form' ).unbind( 'form-pre-serialize', onSubmit );
 								});
 							}
