diff --git a/.travis.yml b/.travis.yml
index 240075e..ae23948 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,8 +6,8 @@ sudo: false
 install:
   - go get -d -t -v ./...
   - go get -v golang.org/x/tools/cmd/cover
-  - go get -v github.com/bradfitz/goimports
-  - go get -v github.com/golang/lint/golint
+  - go get -v github.com/alecthomas/gometalinter
+  - gometalinter --install
 script:
   - export PATH=$PATH:$HOME/gopath/bin
   - ./goclean.sh
diff --git a/goclean.sh b/goclean.sh
index 9183332..8e820a8 100755
--- a/goclean.sh
+++ b/goclean.sh
@@ -5,14 +5,19 @@
 # 3. golint        (https://github.com/golang/lint)
 # 4. go vet        (http://golang.org/cmd/vet)
 # 5. test coverage (http://blog.golang.org/cover)
+#
+# gometalint (github.com/alecthomas/gometalinter) is used to run each each
+# static checker.
 
 set -e
 
 # Automatic checks
-test -z "$(gofmt -l -w .     | tee /dev/stderr)"
-test -z "$(goimports -l -w . | tee /dev/stderr)"
-test -z "$(golint .          | tee /dev/stderr)"
-go vet ./...
+test -z "$(gometalinter --disable-all \
+--enable=gofmt \
+--enable=goimports \
+--enable=golint \
+--enable=vet \
+--deadline=120s ./... | grep -v 'ExampleNew' 2>&1 | tee /dev/stderr)"
 env GORACE="halt_on_error=1" go test -v -race ./...
 
 # Run test coverage on each subdirectories and merge the coverage profile.