diff --git a/.travis.yml b/.travis.yml
index f649faaedee82f28ad2104af5a9908d8c34b84a3..c5deba1cf268cafb35c9ef5c886e74d7a810f283 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,39 +1,44 @@
 env:
- - GHCVER=7.0.1
- - GHCVER=7.0.2
- - GHCVER=7.0.3
- - GHCVER=7.0.4
- - GHCVER=7.2.1
- - GHCVER=7.2.2
- - GHCVER=7.4.1
- - GHCVER=7.4.2
- - GHCVER=7.6.1
- - GHCVER=7.6.2
- - GHCVER=7.6.3
- - GHCVER=head
+ - GHCVER=7.0.1 CABALVER=1.16
+ - GHCVER=7.0.2 CABALVER=1.16
+ - GHCVER=7.0.3 CABALVER=1.16
+ - GHCVER=7.0.4 CABALVER=1.16
+ - GHCVER=7.2.1 CABALVER=1.16
+ - GHCVER=7.2.2 CABALVER=1.16
+ - GHCVER=7.4.1 CABALVER=1.16
+ - GHCVER=7.4.2 CABALVER=1.16
+ - GHCVER=7.6.1 CABALVER=1.16
+ - GHCVER=7.6.2 CABALVER=1.16
+ - GHCVER=7.6.3 CABALVER=1.16
+ - GHCVER=7.8.1 CABALVER=1.18
+ - GHCVER=7.8.2 CABALVER=1.18
+ - GHCVER=7.8.3 CABALVER=1.18
+ - GHCVER=head  CABALVER=1.20
 
 matrix:
   allow_failures:
-   - env: GHCVER=head
+   - env: GHCVER=head  CABALVER=1.20
 
 before_install:
- - sudo add-apt-repository -y ppa:hvr/ghc
- - sudo apt-get update
- - sudo apt-get install cabal-install-1.18 ghc-$GHCVER
- - export PATH=/opt/ghc/$GHCVER/bin:$PATH
+ - travis_retry sudo add-apt-repository -y ppa:hvr/ghc
+ - travis_retry sudo apt-get update
+ - travis_retry sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER
+ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
 
 install:
- - cabal-1.18 update
+ - cabal update
+ - ghc --version
 
 script:
- - cabal-1.18 configure -v2
- - cabal-1.18 build
- - cabal-1.18 check
- - cabal-1.18 sdist
- - export SRC_TGZ=$(cabal-1.18 info . | awk '{print $2 ".tar.gz";exit}') ;
+ - cabal configure -v2
+ - cabal build -v2
+ - cabal check
+ - cabal sdist
+# The following scriptlet checks that the resulting source distribution can be built & installed
+ - export SRC_TGZ=$(cabal info . | awk '{print $2 ".tar.gz";exit}') ;
    cd dist/;
    if [ -f "$SRC_TGZ" ]; then
-      cabal-1.18 install "$SRC_TGZ";
+      cabal install "$SRC_TGZ";
    else
       echo "expected '$SRC_TGZ' not found";
       exit 1;