diff --git a/token.test b/token.test
index 59fa645..71228ec 100644
--- a/token.test
+++ b/token.test
@@ -885,7 +885,7 @@ 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]' => url("node/{$node->nid}", array('absolute' => TRUE, 'query' => array('foo' => 'bar'))),
       '[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:alias]' => 'node-alias',
diff --git a/token.tokens.inc b/token.tokens.inc
index e0c0b5e..6f7f462 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':
