Index: includes/ckeditor.utils.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ckeditor/includes/ckeditor.utils.js,v
retrieving revision 1.1.2.14
diff -u -p -r1.1.2.14 ckeditor.utils.js
--- includes/ckeditor.utils.js	5 Jul 2010 14:11:52 -0000	1.1.2.14
+++ includes/ckeditor.utils.js	22 Nov 2010 16:06:15 -0000
@@ -1,6 +1,9 @@
 // $Id: ckeditor.utils.js,v 1.1.2.14 2010/07/05 14:11:52 wwalc Exp $
 Drupal.ckeditor = (typeof(CKEDITOR) != 'undefined');
 
+// State of textareas
+Drupal.ckeditorInitialized = {};
+
 // this object will store teaser information
 Drupal.ckeditorTeaser = {
   lookup: {},
@@ -17,6 +20,10 @@ Drupal.ckeditorToggle = function(textare
     $('#switch_' + textarea_id).text(TextRTE);
   }
   else {
+    if (typeof(Drupal.ckeditorInitialized[textarea_id]) == 'undefined') {
+      Drupal.ckeditorInitialized[textarea_id] = true;
+      $("#" + textarea_id).val(Drupal.ckeditorLinebreakConvert($("#" + textarea_id).val()));
+    }
     Drupal.ckeditorOn(textarea_id);
     $('#switch_' + textarea_id).text(TextTextarea);
   }
@@ -262,6 +269,17 @@ Drupal.ckeditorInsertHtml = function(htm
 };
 
 /**
+ * Converts \n to <br />
+ * It in no way tries to compete with Line break converter filter
+ */
+Drupal.ckeditorLinebreakConvert = function(text) {
+  if (! text.match(/<(p|br)\s*\/?>/)) {
+    text = '<p>' + text.replace(/\r\n|\n\r/g, '\n').replace(/\n\n/g, '</p><p>').replace(/\n/g, '<br />') + '</p>';
+  }
+  return text;
+}
+
+/**
  * Ajax support [#741572]
  */
 if (typeof(Drupal.Ajax) != 'undefined' && typeof(Drupal.Ajax.plugins) != 'undefined') {
