diff --git html/sites/all/modules/contrib/smackdown/smackdown.js html/sites/all/modules/contrib/smackdown/smackdown.js
index 3029963..8e03968 100644
--- html/sites/all/modules/contrib/smackdown/smackdown.js
+++ html/sites/all/modules/contrib/smackdown/smackdown.js
@@ -44,7 +44,7 @@
    */
   Drupal.smackdown.attachVote = function(context, selector) {
     $(selector, context).each(function() {
-      var $element = $(this), smackdownLocation = Drupal.settings.basePath + Drupal.theme('smackdownLocation');
+      var $element = $(this);
       // Attach the on-click popup behavior to the element.
       $element.click(function(e){
         Drupal.theme('voting', $element);
@@ -58,7 +58,7 @@
           data: params,
           success: function(json) {
             // we put the location into a variable so that it can be changed by other modules
-            location.href = smackdownLocation;
+            location.href = json.location
           }
         };
         $.ajax(ajaxOptions);
@@ -88,9 +88,4 @@
     element.parent().css({'background-color':'#ffc'});
     return element.parent().append(output);
   };
-
-  Drupal.theme.prototype.smackdownLocation = function() {
-    return Drupal.settings.smackdown.location;
-  };
-
 })(jQuery);
diff --git html/sites/all/modules/contrib/smackdown/smackdown.module html/sites/all/modules/contrib/smackdown/smackdown.module
index 5885f40..d4df4f8 100644
--- html/sites/all/modules/contrib/smackdown/smackdown.module
+++ html/sites/all/modules/contrib/smackdown/smackdown.module
@@ -72,15 +72,14 @@ function smackdown_vote($cid = NULL, $sid = NULL) {
       'value'         => $cid,
       'value_type'    => 'option',
       'tag'           => 'smackdown',
+      'location'      => "node/$sid/voting-results",
     );
+    drupal_alter('smackdown_vote', $vote);
+    $location = url($vote['location'], array('absolute' => TRUE, 'query' => "smackdown_vote=$sid"));
     // Save voting results.
     $results = votingapi_set_votes($vote);
-    
-    // Set user session var to include this $nid
-    $_SESSION['smackdown_vote'] = $sid;
 
-    drupal_set_header('text/javascript');
-    print drupal_to_js(array('results' => $results));
+    drupal_json(array('results' => $results, 'location' => $location));
     exit();
   }
 }
@@ -117,10 +116,9 @@ function smackdown_nodeapi(&$node, $op) {
       );
       drupal_add_js($settings, 'setting');
     
-      // a log of previous votes are stored in $_COOKIE
-      if (isset($_SESSION['smackdown_vote'])) {
+      // a log of previous votes are stored in $_GET
+      if (isset($_GET['smackdown_vote'])) {
         $prev_results = smackdown_results('short', node_load($_SESSION['smackdown_vote']));
-        unset($_SESSION['smackdown_vote']);
         // append the results of the previous smackdown to $node->content
         $node->content['prev_results'] = array('#value' => $prev_results, '#weight' => $node->content['body']['#weight']--);
       }
