diff --git a/core/modules/ckeditor/js/ckeditor.js b/core/modules/ckeditor/js/ckeditor.js index 313621f..146fc6d 100644 --- a/core/modules/ckeditor/js/ckeditor.js +++ b/core/modules/ckeditor/js/ckeditor.js @@ -36,7 +36,14 @@ var label = $('label[for=' + element.getAttribute('id') + ']').html(); format.editorSettings.title = Drupal.t('Rich Text Editor, !label field', {'!label': label}); - return !!CKEDITOR.replace(element, format.editorSettings); + // When the Drupal Attach Behaviours are executed after the CKeditor + // instances have been initialized, we have to prevent initializing a + // new CKeditor instance if there already exists one for this text field. + // This might happen e.g. during rearrangement of multiple field items + // containing CKeditor instances. + if (!CKEDITOR.instances[element.getAttribute('id')]) { + return !!CKEDITOR.replace(element, format.editorSettings); + } }, /**