diff --git modules/shortcut/shortcut.css modules/shortcut/shortcut.css
index f099b01..730a960 100644
--- modules/shortcut/shortcut.css
+++ modules/shortcut/shortcut.css
@@ -15,7 +15,7 @@ div#toolbar div.toolbar-shortcuts ul {
 div#toolbar div.toolbar-shortcuts ul li a {
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
-  padding: 5px 10px 5px 5px;
+  padding: 5px 10px;
   margin-right: 5px;
 }
 
@@ -27,7 +27,7 @@ div#toolbar div.toolbar-shortcuts ul li a.active:focus {
 
 div#toolbar div.toolbar-shortcuts ul li a.active:hover,
 div#toolbar div.toolbar-shortcuts ul li a.active {
-  background: url(../toolbar/toolbar.png) 0 -20px repeat-x;
+  background: #000;
 }
 
 div#toolbar div.toolbar-shortcuts span.icon {
@@ -40,26 +40,36 @@ div#toolbar div.toolbar-shortcuts span.icon {
   -webkit-border-radius: 5px;
 }
 
-div.add-to-shortcuts a span.icon {
+div.add-or-remove-shortcuts {
+  padding-top: 5px;
+}
+
+div.add-or-remove-shortcuts a span.icon {
   display: block;
   width: 12px;
-  background: url(../toolbar/toolbar.png) no-repeat -50px -60px;
+  background: transparent url(shortcut.png) no-repeat scroll 0 0;
   height: 12px;
   float: left;
   margin-left:8px;
 }
 
-div.add-to-shortcuts a:hover span.icon {
-  background-position: -50px -72px;
+div.add-shortcut a:hover span.icon {
+  background-position: 0 -12px;
+}
+div.remove-shortcut a span.icon{
+  background-position: -12px 0;
+}
+div.remove-shortcut a:hover span.icon{
+  background-position: -12px -12px;
 }
 
-div.add-to-shortcuts a span.text {
+div.add-or-remove-shortcuts a span.text {
   float: left;
   padding-left:10px;
   display: none;
 }
 
-div.add-to-shortcuts a:hover span.text {
+div.add-or-remove-shortcuts a:hover span.text {
   font-size: 10px;
   line-height: 12px;
   color: #fff;
diff --git modules/shortcut/shortcut.module modules/shortcut/shortcut.module
index f90a103..c73d995 100644
--- modules/shortcut/shortcut.module
+++ modules/shortcut/shortcut.module
@@ -381,11 +381,17 @@ function shortcut_current_displayed_set($account = NULL) {
   $query->fields('s');
   $query->join('shortcut_set_users', 'u', 's.set_name = u.set_name');
   $query->condition('u.uid', $account->uid);
+  
   $shortcut_set = $query->execute()->fetchObject();
+  
+  if ($shortcut_set) {
+    $shortcut_set = shortcut_set_load($shortcut_set->set_name);
+  }
   // Otherwise, use the default set.
-  if (!$shortcut_set) {
+  else { 
     $shortcut_set = shortcut_default_set($account);
   }
+  
   $shortcut_sets[$account->uid] = $shortcut_set;
   return $shortcut_set;
 }
@@ -516,17 +522,36 @@ function shortcut_page_build(&$page) {
     $query = array(
      'link' => $link,
      'name' => drupal_get_title(),
-     'token' => drupal_get_token('shortcut-add-link'),
     );
     $query += drupal_get_destination();
 
     $shortcut_set = shortcut_current_displayed_set();
-    $link_text = shortcut_set_switch_access() ? t('Add to %shortcut_set shortcuts', array('%shortcut_set' => $shortcut_set->title)) : t('Add to shortcuts');
-    $page['add_to_shortcuts'] = array(
-     '#prefix' => '<div class="add-to-shortcuts">',
+
+    // Check if $link is already a shortcut and set $link_mode accordingly.
+    foreach ($shortcut_set->links as $shortcut) {
+      if ($link == $shortcut['link_path']) {
+        $mlid = $shortcut['mlid'];
+        break;
+      }
+    }
+    $link_mode = isset($mlid) ? "remove" : "add";
+
+    if ($link_mode == "add") {
+      $query['token'] = drupal_get_token('shortcut-add-link');
+      $link_text = shortcut_set_switch_access() ? t('Add to %shortcut_set shortcuts', array('%shortcut_set' => $shortcut_set->title)) : t('Add to shortcuts');
+      $link_path = 'admin/config/system/shortcut/' . $shortcut_set->set_name . '/add-link-inline';
+    }
+    else {
+      $query['mlid'] = $mlid;
+      $link_text = shortcut_set_switch_access() ? t('Remove from %shortcut_set shortcuts', array('%shortcut_set' => $shortcut_set->title)) : t('Remove from shortcuts');
+      $link_path = 'admin/config/system/shortcut/link/' . $mlid . '/delete';
+    }
+
+    $page['add_or_remove_shortcut'] = array(
+     '#prefix' => '<div class="add-or-remove-shortcuts ' . $link_mode . '-shortcut">',
      '#type' => 'link',
      '#title' => '<span class="icon"></span><span class="text">' . $link_text . '</span>',
-     '#href' => 'admin/config/system/shortcut/' . $shortcut_set->set_name . '/add-link-inline',
+     '#href' => $link_path,
      '#options' => array('query' => $query, 'html' => TRUE),
      '#suffix' => '</div>',
     );
@@ -559,7 +584,7 @@ function shortcut_page_build(&$page) {
  * Implement hook_preprocess_page().
  */
 function shortcut_preprocess_page(&$variables) {
-  if (isset($variables['page']['add_to_shortcuts'])) {
-    $variables['add_to_shortcuts'] = drupal_render($variables['page']['add_to_shortcuts']);
+  if (isset($variables['page']['add_or_remove_shortcut'])) {
+    $variables['add_or_remove_shortcut'] = drupal_render($variables['page']['add_or_remove_shortcut']);
   }
 }
diff --git modules/shortcut/shortcut.png modules/shortcut/shortcut.png
new file mode 100755
index 0000000..e5b3387
Binary files /dev/null and modules/shortcut/shortcut.png differ
diff --git modules/toolbar/toolbar.css modules/toolbar/toolbar.css
index 52e006e..b3a624e 100644
--- modules/toolbar/toolbar.css
+++ modules/toolbar/toolbar.css
@@ -49,7 +49,7 @@ div#toolbar div.shadow {
   right: 0;
   bottom: -15px;
   height: 15px;
-  background: url(toolbar.png) 0 -85px repeat-x;
+  background: url(toolbar.png) 0 -45px repeat-x;
 }
 
 div#toolbar a {
@@ -66,7 +66,7 @@ div#toolbar ul li a {
  * Administration menu.
  */
 div#toolbar div.toolbar-menu {
-  background: url(toolbar.png) 0 -20px repeat-x;
+  background: #000;
   height: 25px;
   line-height: 20px;
   padding: 5px 10px 0;
@@ -88,7 +88,7 @@ div#toolbar div.toolbar-menu span.toggle {
   position: absolute;
   right: 10px;
   cursor: pointer;
-  background: url(toolbar.png) 0 -60px no-repeat;
+  background: url(toolbar.png) 0 -20px no-repeat;
   text-indent: -9999px;
   overflow: hidden;
   width: 25px;
@@ -96,7 +96,7 @@ div#toolbar div.toolbar-menu span.toggle {
 }
 
 div#toolbar div.toolbar-menu span.toggle-active {
-  background-position:  -25px -60px;
+  background-position:  -25px -20px;
 }
 
 div#toolbar div.toolbar-menu ul li a {
diff --git modules/toolbar/toolbar.png modules/toolbar/toolbar.png
old mode 100644
new mode 100755
index 391d2e7..17ce940
Binary files modules/toolbar/toolbar.png and modules/toolbar/toolbar.png differ
diff --git themes/seven/page.tpl.php themes/seven/page.tpl.php
index 299d6c0..332052d 100644
--- themes/seven/page.tpl.php
+++ themes/seven/page.tpl.php
@@ -4,7 +4,7 @@
   <div id="branding" class="clearfix">
     <?php print $breadcrumb; ?>
     <?php if ($title): ?><h1 class="page-title"><?php print $title; ?></h1><?php endif; ?>
-    <?php if (isset($add_to_shortcuts)): ?><?php print $add_to_shortcuts; ?><?php endif; ?>
+    <?php if (isset($add_or_remove_shortcut)): ?><?php print $add_or_remove_shortcut; ?><?php endif; ?>
     <?php if ($primary_local_tasks): ?><ul class="tabs primary"><?php print render($primary_local_tasks); ?></ul><?php endif; ?>
   </div>
 
