diff --git a/js/drupal.aloha.js b/js/drupal.aloha.js
index a66d148..dea98d6 100644
--- a/js/drupal.aloha.js
+++ b/js/drupal.aloha.js
@@ -42,7 +42,9 @@ Drupal.aloha = {
     }
     else {
       Drupal.aloha.state.initializing = true;
-      Drupal.aloha.state.initCallbacks.push(callback);
+      if (typeof callback === "function") {
+        Drupal.aloha.state.initCallbacks.push(callback);
+      }
     }
 
     // Migrate Aloha.settings from Drupal.settings.
diff --git a/js/drupal.aloha.textarea.js b/js/drupal.aloha.textarea.js
index 091f506..5bb7440 100644
--- a/js/drupal.aloha.textarea.js
+++ b/js/drupal.aloha.textarea.js
@@ -60,6 +60,10 @@ Drupal.behaviors.alohaTextareas = {
           }
           Drupal.aloha.detach($editable);
         });
+
+        $(document).bind('CToolsDetachBehaviors', function(event, context) {
+          Drupal.aloha.detach($editable);
+        });
       });
     });
   }
