diff --git a/embeddable.module b/embeddable.module
index 6bc7459..4ef6ec7 100644
--- a/embeddable.module
+++ b/embeddable.module
@@ -6,6 +6,12 @@
  */
 function embeddable_page_alter(&$page) {
   $page['#post_render'][] = 'embeddable_post_render';
+
+  // Embed the form if needed
+  if (embeddable_needs_embed()) {
+    $page['content']['embeddable'] = drupal_get_form('embeddable_embed_form');
+  }
+ 
   //do the post render on content so that we can insert js and such if the embed needs it
   //post render on the page is too late
   $page['content']['#post_render'][] = 'embeddable_post_render';
@@ -270,7 +276,19 @@ function embeddable_pre_render_text_format($element) {
     array(
       "embeddable_embeds"=> array_keys($embeds)
     ), 'setting');
-  //TODO: This needs to be moved to getting loaded via ajax to work in boxes / panes ect.
-  $page['content']['embeddable'] = drupal_get_form('embeddable_embed_form');
+
+
+  embeddable_needs_embed(TRUE);
+  
   return $element;
 }
+
+function embeddable_needs_embed($set = FALSE) {
+  $needs_embed = &drupal_static(__FUNCTION__);
+
+  if ($set) {
+    $needs_embed = TRUE;
+  }
+
+  return $needs_embed;
+}
