diff --git a/js/drupal.simplemde.js b/js/drupal.simplemde.js
index 0178486..fa675bd 100644
--- a/js/drupal.simplemde.js
+++ b/js/drupal.simplemde.js
@@ -3,7 +3,7 @@
  * SimpleMDE implementation of {@link Drupal.editors} API.
  */
 
-(function (Drupal, SimpleMDE) {
+(function (Drupal, SimpleMDE, $) {
 
   'use strict';
 
@@ -24,10 +24,16 @@
      *   Whether the editor was successfully attached.
      */
     attach: function (element, format) {
-      var settings = format.editorSettings;
-      settings.element = document.getElementById(element.id);
-      var editor = new SimpleMDE(settings);
-      return !!editor;
+      var $textfield = $(element);
+
+      if(!$textfield.hasClass('loaded')) {
+        $textfield.addClass('loaded');
+        var settings = format.editorSettings;
+        settings.element = document.getElementById(element.id);
+        settings.forceSync = true;
+        var editor = new SimpleMDE(settings);
+        return !!editor;
+      }
     },
 
     /**
@@ -56,9 +62,8 @@
      *   Callback called with the value of the editor.
      */
     onChange: function (element, callback) {
-
+      callback();
     }
-
   };
 
-})(Drupal, SimpleMDE);
+})(Drupal, SimpleMDE, jQuery);
\ No newline at end of file
