diff --git a/panels_ipe/js/panels_ipe.js b/panels_ipe/js/panels_ipe.js
index b203f5e..f7e7715 100644
--- a/panels_ipe/js/panels_ipe.js
+++ b/panels_ipe/js/panels_ipe.js
@@ -231,7 +231,7 @@ function DrupalPanelsIPE(cache_key, cfg) {
     // Perform visual effects in a particular sequence.
     // .show() + .hide() cannot have speeds associated with them, otherwise
     // it clears out inline styles.
-    $('.panels-ipe-on').show();
+    $('.panels-ipe-on', this.topParent).show();
     ipe.showForm();
     ipe.topParent.addClass('panels-ipe-editing');
 
diff --git a/panels_ipe/plugins/display_renderers/panels_renderer_ipe.class.php b/panels_ipe/plugins/display_renderers/panels_renderer_ipe.class.php
index 9c8d4e3..ed38800 100644
--- a/panels_ipe/plugins/display_renderers/panels_renderer_ipe.class.php
+++ b/panels_ipe/plugins/display_renderers/panels_renderer_ipe.class.php
@@ -25,12 +25,21 @@ class panels_renderer_ipe extends panels_renderer_editor {
 
     ctools_include('cleanstring');
     $this->clean_key = ctools_cleanstring($this->display->cache_key);
+    $title = $this->display->get_title();
+    if (!$title) {
+      // Default to display title in case title is hidden
+      $title = $this->display->title;
+      if (empty($title)) {
+        // There really is no title set
+        $title = $this->clean_key;
+      }
+    }
     $button = array(
       '#type' => 'link',
-      '#title' => t('Customize this page'),
+      '#title' => t('Customize @title', array('@title' => $title)),
       '#href' => $this->get_url('save_form'),
       '#options' => array('query' => drupal_get_destination()),
-      '#id' => 'panels-ipe-customize-page',
+      '#id' => drupal_html_id('panels-ipe-customize-page'),
       '#attributes' => array(
         'class' => array('panels-ipe-startedit', 'panels-ipe-pseudobutton'),
       ),
