diff --git a/includes/ckeditor.lib.inc b/includes/ckeditor.lib.inc
index 44804e2..198f12f 100644
--- a/includes/ckeditor.lib.inc
+++ b/includes/ckeditor.lib.inc
@@ -603,7 +603,7 @@ function ckeditor_profile_settings_compile($global_profile, $profile) {
     case 'self':
       $config_js_path = trim(str_replace("%h%t", "%t", $conf['config_js_path']));
       $config_js_path = str_replace(array('%h', '%t'), array($host, $host . $themepath), $config_js_path);
-      $ckeditor_config_path = $config_js_path . @filemtime($config_js_path);
+      $ckeditor_config_path = $config_js_path . $query_string;
       break;
 
     case 'none':
@@ -1256,7 +1256,11 @@ function ckeditor_load_by_field($field, $format, $show_toggle = TRUE, $add_field
     return $field;
   }
 
-  drupal_add_js(array('ckeditor' => array('textarea_default_format' => array($field['#id'] => $format))), 'setting');
+  // Pass Drupal's JS cache-busting string via settings along to CKEditor.
+  drupal_add_js(array('ckeditor' => array(
+    'textarea_default_format' => array($field['#id'] => $format),
+    'timestamp' => variable_get('css_js_query_string', '0')
+  )), 'setting');
 
   if (!isset($processed_ids[$field['#id']])) {
     $processed_ids[$field['#id']] = array();
