diff --git a/feeds.module b/feeds.module
index 4ae1da4e1e1232c3fff335106b64735709a66e4e..54eb3a20bfff71ff62a6fe6dd49764f6ff26c999 100644
--- a/feeds.module
+++ b/feeds.module
@@ -1045,7 +1045,7 @@ function feeds_alter($type, &$data) {
  *
  * @see valid_url().
  *
- * @todo Replace with valid_url() when http://drupal.org/node/1191252 is fixed.
+ * @todo Replace with valid_url() when http://drupal.org/node/295021 is fixed.
  */
 function feeds_valid_url($url, $absolute = FALSE) {
   if ($absolute) {
@@ -1062,7 +1062,7 @@ function feeds_valid_url($url, $absolute = FALSE) {
       )
       (?::[0-9]+)?                                            # Server port number (optional)
       (?:[\/|\?]
-        (?:[\w#!:\.\?\+=&@$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2})   # The path and query (optional)
+        (?:[|\w#!:\.\?\+=&@$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2})   # The path and query (optional)
       *)?
     $/xi", $url);
   }
diff --git a/tests/feeds.test b/tests/feeds.test
index 358eb00f16b7ea8764d2af02504d872267cc3f95..b6213fd2068d12d29fa2f5081e76bcd8a4542cef 100644
--- a/tests/feeds.test
+++ b/tests/feeds.test
@@ -541,6 +541,7 @@ class FeedsUnitTestCase extends FeedsUnitTestHelper {
       'example.org/~,$\'*;',
       'caf%C3%A9.example.org',
       '[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html',
+      'graph.asfdasdfasdf.com/blarg/feed?access_token=133283760145143|tGew8jbxi1ctfVlYh35CPYij1eE',
     );
 
     foreach ($url_schemes as $scheme) {