diff --git a/panels_ipe/panels_ipe.module b/panels_ipe/panels_ipe.module
index a11fc3a..7fd5d79 100644
--- a/panels_ipe/panels_ipe.module
+++ b/panels_ipe/panels_ipe.module
@@ -221,6 +221,7 @@ function panels_ipe_get_cache_key($key = NULL) {
  */
 function panels_ipe_toolbar_add_button($cache_key, $id, $button) {
   $buttons = &drupal_static('panels_ipe_toolbar_buttons', array());
+  drupal_alter('panels_ipe_button', $button, $id, $cache_key);
   $buttons[$cache_key][$id] = $button;
 }
 
@@ -246,9 +247,11 @@ function panels_ipe_page_alter(&$page) {
 
 function theme_panels_ipe_toolbar($vars) {
   $buttons = $vars['buttons'];
+  ctools_include('cleanstring');
 
   $output = "<div id='panels-ipe-control-container' class='clearfix'>";
   foreach ($buttons as $key => $ipe_buttons) {
+    $key = ctools_cleanstring($key);
     $output .= "<div id='panels-ipe-control-$key' class='panels-ipe-control'>";
 
     // Controls in this container will appear when the IPE is not on.
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 c959a6d..c6c2270 100644
--- a/panels_ipe/plugins/display_renderers/panels_renderer_ipe.class.php
+++ b/panels_ipe/plugins/display_renderers/panels_renderer_ipe.class.php
@@ -42,7 +42,7 @@ class panels_renderer_ipe extends panels_renderer_editor {
       '#suffix' => '</div>',
     );
 
-    panels_ipe_toolbar_add_button($this->clean_key, 'panels-ipe-startedit', $button);
+    panels_ipe_toolbar_add_button($this->display->cache_key, 'panels-ipe-startedit', $button);
 
     // @todo this actually should be an IPE setting instead.
     if (user_access('change layouts in place editing')) {
@@ -63,7 +63,7 @@ class panels_renderer_ipe extends panels_renderer_editor {
       '#suffix' => '</div>',
       );
 
-      panels_ipe_toolbar_add_button($this->clean_key, 'panels-ipe-change-layout', $button);
+      panels_ipe_toolbar_add_button($this->display->cache_key, 'panels-ipe-change-layout', $button);
     }
 
     ctools_include('ajax');
