diff --git a/css/edit.css b/css/edit.css
index 5a99f11..f906c3b 100644
--- a/css/edit.css
+++ b/css/edit.css
@@ -417,3 +417,13 @@
   border: 1px solid #cdcdcd;
   box-shadow: 0px 2px 1px rgba(0,0,0,0.1);
 }
+
+/**
+ * Toolbar icon.
+ */
+.toolbar-main.icons .bar .edit .tab {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iODYuMTk3MyIgeTE9IjMuNSIgeDI9Ijg2LjE5NzMiIHkyPSI5OC41MDUzIj4NCgkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0NDQ0NDQyIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojOTk5OTk5Ii8+DQoJPC9saW5lYXJHcmFkaWVudD4NCgk8cGF0aCBmaWxsPSJ1cmwoI1NWR0lEXzFfKSIgZD0iTTk1LjI2Miw0LjY5MmMtNi4zMTYtNi4yNTYtMTYuNTUxLTYuMjU2LTIyLjg2NywwbDIyLjg2NywyMi41NTQNCgkJQzEwMS41NzksMjEuMDUyLDEwMS41NzksMTAuOTQ3LDk1LjI2Miw0LjY5MnoiLz4NCgk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQ0LjUwMzQiIHkxPSIzLjUiIHgyPSI0NC41MDM0IiB5Mj0iOTguNTA1MyI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNDQ0NDQ0MiLz4NCgkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6Izk5OTk5OSIvPg0KCTwvbGluZWFyR3JhZGllbnQ+DQoJPHBhdGggZmlsbD0idXJsKCNTVkdJRF8yXykiIGQ9Ik0xNi4yMzcsNjAuMDI3TDAsOTguNTU5bDM5LjEtMTUuOTc3bDQ5LjkwNy00OS4xNDlMNjYuMDc2LDEwLjg4NUwxNi4yMzcsNjAuMDI3eiBNMTQuMjc1LDg3Ljk0OQ0KCQlsLTMuNDc0LTMuNDEybDkuMjg0LTIyLjE3MmMwLDAsNC4xNzEsMC43Niw2LjI1NiwyLjc4M2MyLjA4NSwyLjA4NCwxLjUxOCw1LjkzNCwwLjY5LDYuODIxYzAuODI3LTAuODg5LDQuODA2LTEuNDU0LDYuODkyLDAuNjMNCgkJYzIuMDg1LDIuMDIyLDIuNzgyLDYuMTI3LDIuNzgyLDYuMTI3TDE0LjI3NSw4Ny45NDl6Ii8+DQo8L2c+DQo8L3N2Zz4NCg==);
+}
+.toolbar-main.icons .bar .edit .tab.active {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iODYuMTk3MyIgeTE9IjMuNSIgeDI9Ijg2LjE5NzMiIHkyPSI5OC41MDUzIj4NCgkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZGRkZGRiIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTVFNUU1Ii8+DQoJPC9saW5lYXJHcmFkaWVudD4NCgk8cGF0aCBmaWxsPSJ1cmwoI1NWR0lEXzFfKSIgZD0iTTk1LjI2Miw0LjY5MmMtNi4zMTYtNi4yNTYtMTYuNTUxLTYuMjU2LTIyLjg2NywwbDIyLjg2NywyMi41NTQNCgkJQzEwMS41NzksMjEuMDUyLDEwMS41NzksMTAuOTQ3LDk1LjI2Miw0LjY5MnoiLz4NCgk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQ0LjUwMzQiIHkxPSIzLjUiIHgyPSI0NC41MDM0IiB5Mj0iOTguNTA1MyI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkYiLz4NCgkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0U1RTVFNSIvPg0KCTwvbGluZWFyR3JhZGllbnQ+DQoJPHBhdGggZmlsbD0idXJsKCNTVkdJRF8yXykiIGQ9Ik0xNi4yMzcsNjAuMDI3TDAsOTguNTU5bDM5LjEtMTUuOTc3bDQ5LjkwNy00OS4xNDlMNjYuMDc2LDEwLjg4NUwxNi4yMzcsNjAuMDI3eiBNMTQuMjc1LDg3Ljk0OQ0KCQlsLTMuNDc0LTMuNDEybDkuMjg0LTIyLjE3MmMwLDAsNC4xNzEsMC43Niw2LjI1NiwyLjc4M2MyLjA4NSwyLjA4NCwxLjUxOCw1LjkzNCwwLjY5LDYuODIxYzAuODI3LTAuODg5LDQuODA2LTEuNDU0LDYuODkyLDAuNjMNCgkJYzIuMDg1LDIuMDIyLDIuNzgyLDYuMTI3LDIuNzgyLDYuMTI3TDE0LjI3NSw4Ny45NDl6Ii8+DQo8L2c+DQo8L3N2Zz4NCg==);
+}
diff --git a/edit.module b/edit.module
index 9ca87e7..a8f8e6e 100644
--- a/edit.module
+++ b/edit.module
@@ -51,14 +51,34 @@ function edit_menu() {
 }
 
 /**
- * Implements hook_page_alter().
+ * Implements hook_toolbar_register_tabs().
  */
-function edit_page_alter(&$page) {
+function edit_toolbar_register_tabs() {
   if (path_is_admin(current_path())) {
     return;
   }
 
-  $page['page_top']['edit'] = array(
+  $tab['edit'] = array(
+    'tab' => array(
+      'title' => t('Edit'),
+      'href' => '',
+      'html' => FALSE,
+    ),
+    'tray' => array(
+      '#pre_render' => array('edit_toolbar_pre_render'),
+    ),
+  );
+
+  return $tab;
+}
+
+
+/**
+ * Pre-render function for adding edit actions to the toolbar.
+ */
+function edit_toolbar_pre_render($tray) {
+
+  $edit['edit'] = array(
     'view_edit_toggle' => array(
       '#prefix' => '<div id="editbar"><h2 class="element-invisible">' . t('In-place edit operations') . '</h2><ul id="edit_view-edit-toggles">',
       '#suffix' => '</ul></div>',
@@ -79,18 +99,9 @@ function edit_page_alter(&$page) {
         ),
       ),
     ),
-    '#post_render' => array(
-      'edit_editbar_post_render',
-    ),
   );
-}
 
-/**
- * Post-render function to remove the editbar if nothing editable is present.
- */
-function edit_editbar_post_render($html) {
-  global $editbar;
-  return ($editbar !== TRUE) ? '' : $html;
+  return $edit;
 }
 
 /**
