diff --git a/feeds.module b/feeds.module
index 9d9f6ed..b308495 100644
--- a/feeds.module
+++ b/feeds.module
@@ -1190,7 +1190,7 @@ function feeds_valid_url($url, $absolute = FALSE) {
   if ($absolute) {
     return (bool) preg_match("
       /^                                                      # Start at the beginning of the text
-      (?:ftp|https?|feed|webcal):\/\/                         # Look for ftp, http, https, feed or webcal schemes
+      (?:ftp|https?|feed|webcals?|):\/\/                      # Look for ftp, http, https, feed or webcal schemes
       (?:                                                     # Userinfo (optional) which is typically
         (?:(?:[\w\.\-\+!$&'\(\)*\+,;=]|%[0-9a-f]{2})+:)*      # a username or a username and password
         (?:[\w\.\-\+%!$&'\(\)*\+,;=]|%[0-9a-f]{2})+@          # combination
diff --git a/libraries/http_request.inc b/libraries/http_request.inc
index cb4fc58..9c4b96c 100644
--- a/libraries/http_request.inc
+++ b/libraries/http_request.inc
@@ -136,7 +136,7 @@ function http_request_get($url, $username = NULL, $password = NULL, $accept_inva
   }
 
   // Support the 'feed' and 'webcal' schemes by converting them into 'http'.
-  $url = strtr($url, array('feed://' => 'http://', 'webcal://' => 'http://'));
+  $url = strtr($url, array('feed://' => 'http://', 'webcal://' => 'http://', 'webcals://' => 'https://'));
 
   if ($curl) {
     $headers[] = 'User-Agent: Drupal (+http://drupal.org/)';
diff --git a/tests/feeds.test b/tests/feeds.test
index b3ce145..42d195b 100644
--- a/tests/feeds.test
+++ b/tests/feeds.test
@@ -672,7 +672,7 @@ class FeedsUnitTestCase extends FeedsUnitTestHelper {
    * @todo Remove when http://drupal.org/node/1191252 is fixed.
    */
   function testFeedsValidURL() {
-    $url_schemes = array('http', 'https', 'ftp', 'feed', 'webcal');
+    $url_schemes = array('http', 'https', 'ftp', 'feed', 'webcal', 'webcals');
     $valid_absolute_urls = array(
       'example.com',
       'www.example.com',
diff --git a/tests/feeds_processor_node.test b/tests/feeds_processor_node.test
index 2c97142..3098455 100644
--- a/tests/feeds_processor_node.test
+++ b/tests/feeds_processor_node.test
@@ -416,12 +416,12 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
   }
 
   /**
-   * Test using non-normal URLs like feed:// and webcal://.
+   * Test using non-normal URLs like feed://, webcal://, and webcals://.
    */
   public function testOddFeedSchemes() {
     $url = $GLOBALS['base_url'] . '/' . drupal_get_path('module', 'feeds') . '/tests/feeds/developmentseed.rss2';
 
-    $schemes = array('feed', 'webcal');
+    $schemes = array('feed', 'webcal', 'webcals');
     $item_count = 0;
     foreach ($schemes as $scheme) {
       $feed_url = strtr($url, array('http://' => $scheme . '://', 'https://' => $scheme . '://'));
