diff --git a/token.test b/token.test
index cd09e15..d054566 100644
--- a/token.test
+++ b/token.test
@@ -889,9 +889,9 @@ class TokenCurrentPageTestCase extends TokenTestHelper {
     $node = $this->drupalCreateNode(array('title' => 'Node title', 'path' => array('alias' => 'node-alias')));
     $tokens = array(
       '[current-page:title]' => 'Node title',
-      '[current-page:url]' => url("node/{$node->nid}", array('absolute' => TRUE)),
-      '[current-page:url:absolute]' => url("node/{$node->nid}", array('absolute' => TRUE)),
-      '[current-page:url:relative]' => url("node/{$node->nid}", array('absolute' => FALSE)),
+      '[current-page:url]' => url("node/{$node->nid}", array('absolute' => TRUE, 'query' => array('foo' => 'bar'))),
+      '[current-page:url:absolute]' => url("node/{$node->nid}", array('absolute' => TRUE, 'query' => array('foo' => 'bar'))),
+      '[current-page:url:relative]' => url("node/{$node->nid}", array('absolute' => FALSE, 'query' => array('foo' => 'bar'))),
       '[current-page:url:alias]' => 'node-alias',
       '[current-page:url:args:value:0]' => 'node-alias',
       '[current-page:url:args:value:1]' => NULL,
diff --git a/token.tokens.inc b/token.tokens.inc
index f584bda..822a6b5 100644
--- a/token.tokens.inc
+++ b/token.tokens.inc
@@ -670,6 +670,7 @@ function token_tokens($type, $tokens, array $data = array(), array $options = ar
           $replacements[$original] = $sanitize ? $title : decode_entities($title);
           break;
         case 'url':
+          $url_options['query'] = drupal_get_query_parameters();
           $replacements[$original] = url($current_path, $url_options);
           break;
         case 'page-number':
@@ -730,9 +731,11 @@ function token_tokens($type, $tokens, array $data = array(), array $options = ar
           $replacements[$original] = $sanitize ? check_plain($alias) : $alias;
           break;
         case 'absolute':
+          $url_options['query'] = drupal_get_query_parameters();
           $replacements[$original] = url($path, $url_options);
           break;
         case 'relative':
+          $url_options['query'] = drupal_get_query_parameters();
           $replacements[$original] = url($path, array('absolute' => FALSE) + $url_options);
           break;
         case 'brief':
