diff --git a/ckeditor.module b/ckeditor.module
index 52ecbb3..7c14989 100644
--- a/ckeditor.module
+++ b/ckeditor.module
@@ -585,6 +585,11 @@ function ckeditor_process_textarea($element) {
     $class = 'ckeditor-mod';
     $_ckeditor_ids[] = $textarea_id;
     $ckeditor_on = ($conf['default']=='t') ? 1 : 0 ;
+    if (!empty($conf['default_state_exception_regex'])) {
+      $match = ckeditor_is_enabled(1, $conf['default_state_exception_regex'], $element['#id'], $_GET['q']) xor 1;
+      $ckeditor_on = ($ckeditor_on xor $match) ? 1 : 0;
+    }
+
     $xss_check = 0;
     //it's not a problem when adding new content/comment
     if (arg(1) != "add" && arg(1) != "reply") {
diff --git a/includes/ckeditor.admin.inc b/includes/ckeditor.admin.inc
index 89cd8c4..2799fd5 100644
--- a/includes/ckeditor.admin.inc
+++ b/includes/ckeditor.admin.inc
@@ -542,6 +542,23 @@ function ckeditor_admin_profile_form($form_state, $profile = NULL) {
     '#description' => t('Default editor state. If disabled, the rich text editor may still be enabled by using toggle or popup window.'),
   );
 
+  $form['appearance']['default_state_exception'] = array(
+    '#type' => 'textarea',
+    '#title' => t('Reverse default state on the following fields'),
+    '#cols' => 60,
+    '#rows' => 5,
+    '#default_value' => !empty($profile->settings['default_state_exception']) ? $profile->settings['default_state_exception'] : '',
+    '#description' => t('Enter the paths to the textarea fields for which you want to reverse the default state above.') .
+      ' ' .
+      t(
+        'See the !helppagelink for more information about defining field names.',
+        array(
+          '!helppagelink' => l(t('Help page'), 'admin/help/ckeditor', array('fragment' => 'fieldinclexcl'))
+        )
+      ),
+    '#wysiwyg' => FALSE,
+  );
+
   $form['appearance']['show_toggle'] = array(
     '#type' => 'radios',
     '#title' => t('Show the disable/enable rich text editor toggle'),
@@ -1459,6 +1476,13 @@ function ckeditor_admin_global_profile_form($form_state, $mode = 'add') {
     );
   }
 
+  $form['appearance'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Editor appearance'),
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+  );
+
   $form['ckeditor_exclude_settings'] = array(
     '#type' => 'fieldset',
     '#title' => t('Visibility settings'),
@@ -2019,15 +2043,15 @@ function ckeditor_rebuild_selectors($name = NULL) {
   while (($data = db_fetch_object($result))) {
     if ($data->settings) {
       $settings = unserialize($data->settings);
-      // [#654626]
-      if (!isset($settings['excl'])) {
-        $settings['excl'] = '';
-      }
-      if (!isset($settings['simple_incl'])) {
-        $settings['simple_incl'] = '';
-      }
-
-      foreach (array('excl', 'simple_incl') as $var) {
+      $vars = array(
+        'excl',
+        'simple_incl',
+        'default_state_exception',
+      );
+      foreach ($vars as $var) {
+        if (!isset($settings[$var])) {
+          $settings[$var] = '';
+        }
         $settings[$var .'_regex'] = '';
         $rules = preg_split('/[\s,]+/', $settings[$var]);
         $regex = array();
@@ -2322,4 +2346,4 @@ CKEDITOR.replace('editor', {
   $html .= "</body>";
   $html .= "</html>";
   echo $html;
-}
\ No newline at end of file
+}
diff --git a/includes/ckeditor.lib.inc b/includes/ckeditor.lib.inc
index 3511dc9..3a89b6f 100644
--- a/includes/ckeditor.lib.inc
+++ b/includes/ckeditor.lib.inc
@@ -593,7 +593,6 @@ function ckeditor_sorted_roles($clear = FALSE) {
  */
 function ckeditor_is_enabled($excl_mode, $excl_regex, $element_id, $get_q) {
   global $theme;
-
   $front = variable_get('site_frontpage', 'node');
   $excl_regex = str_replace('<front>', $front, $excl_regex);
   $nodetype = ckeditor_get_nodetype($get_q);
