diff --git a/includes/ckeditor.lib.inc b/includes/ckeditor.lib.inc
index 3370968..3eef6ad 100644
--- a/includes/ckeditor.lib.inc
+++ b/includes/ckeditor.lib.inc
@@ -1289,6 +1289,9 @@ function ckeditor_load_by_field($field, $format, $show_toggle = TRUE, $add_field
       drupal_add_js(array('ckeditor' => array('scayt_language' => ckeditor_scayt_langcode($field["#language"]))), 'setting');
     }
 
+    // Pass Drupal's JS cache-busting string via settings along to CKEditor.
+    drupal_add_js(array('ckeditor' => array('timestamp' => variable_get('css_js_query_string', '0'))), 'setting');
+
     // Remember extra information and reuse it during "Preview"
     $processed_ids[$field['#id']]['suffix'] = $suffix;
     $processed_ids[$field['#id']]['class'] = $class;
diff --git a/includes/ckeditor.utils.js b/includes/ckeditor.utils.js
index ce22cd4..9920651 100644
--- a/includes/ckeditor.utils.js
+++ b/includes/ckeditor.utils.js
@@ -282,6 +282,11 @@ if (typeof window.CKEDITOR_BASEPATH === 'undefined') {
       Drupal.behaviors.textarea.attach(context);
     }
 
+    // Manually set the cache-busting string to the same value as Drupal.
+    if (typeof(Drupal.settings.ckeditor.timestamp) != 'undefined') {
+      CKEDITOR.timestamp = Drupal.settings.ckeditor.timestamp;
+    }
+
     $(context).find("textarea.ckeditor-mod:not(.ckeditor-processed)").each(function () {
       var ta_id=$(this).attr("id");
       if (CKEDITOR.instances && typeof(CKEDITOR.instances[ta_id]) != 'undefined'){
