diff --git a/.travis.yml b/.travis.yml
index 71a96ab2ac4cdd38287e8431877edc47865ff832..54d85398a535695a49657e2cfe7a4f5fd3842f1c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -26,4 +26,4 @@ script:
   - vendor/bin/phpunit --coverage-clover=coverage.clover
   - vendor/bin/phpcs -p --standard=PSR2 --ignore=vendor/ ./
 after_script:
-  - vendor/bin/coveralls
+  - travis_retry php vendor/bin/coveralls
diff --git a/src/Search.php b/src/Search.php
index e993c0694c789917667efaa61eb1e217a132a563..22dbc83a5a7d459e17bf1eaab9ce137c822337a2 100644
--- a/src/Search.php
+++ b/src/Search.php
@@ -640,6 +640,9 @@ class Search
     public function setScroll($scroll = '5m')
     {
         $this->scroll = $scroll;
+
+        $this->addUriParam('scroll', $this->scroll);
+
         return $this;
     }
 
@@ -668,6 +671,7 @@ class Search
             'from',
             'size',
             'search_type',
+            'scroll',
         ])) {
             $this->uriParams[$name] = $value;
         } else {
diff --git a/tests/Unit/SearchTest.php b/tests/Unit/SearchTest.php
index c7ac6a457efd8725aac91682137ba80bf20fe1d0..3d6972b34b51523e9bda8c3874c8334ca5c5c1e5 100644
--- a/tests/Unit/SearchTest.php
+++ b/tests/Unit/SearchTest.php
@@ -29,4 +29,12 @@ class SearchTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertInstanceOf('ONGR\ElasticsearchDSL\Search', new Search());
     }
+
+    public function testScrollUriParameter()
+    {
+        $search = new Search();
+        $search->setScroll('5m');
+
+        $this->assertArrayHasKey('scroll', $search->getUriParams());
+    }
 }