diff --git a/addthis.module b/addthis.module
index 1504cf0..97a53e5 100644
--- a/addthis.module
+++ b/addthis.module
@@ -183,7 +183,8 @@ function theme_addthis_toolbox($services = NULL, $config = array()) {
     $services = explode(',', $services);
   }
   foreach ($services AS $service) {
-    $output .= theme('addthis_toolbox_item', trim(strtolower($service)));
+    $url = isset($config['url']) ? $config['url'] : NULL;
+    $output .= theme('addthis_toolbox_item', trim(strtolower($service)), $url);
   }
 
   // If a $config is specified, process it into $attributes.
@@ -204,8 +205,10 @@ function theme_addthis_toolbox($services = NULL, $config = array()) {
  * @param service
  *   A custom service code or a basic AddThis service code.
  *   Full list at http://addthis.com/services/all
+ * @param string $url
+ *   An optional custom URL for the toolbox item to share.
  */
-function theme_addthis_toolbox_item($service) {
+function theme_addthis_toolbox_item($service, $url = NULL) {
   addthis_add_default_js();
   static $services;
   if (!isset($services)) {
@@ -220,6 +223,7 @@ function theme_addthis_toolbox_item($service) {
     else {
       $class = 'addthis_toolbox_item ' . check_plain($services[$service]['class']);
       $attributes = filter_xss($services[$service]['attributes']);
+      $attributes .= isset($url) ? " addthis:url='$url'" : "";
       $title = filter_xss_admin($services[$service]['title']);
       return "<a class='$class' $attributes>$title</a>"; 
     }
