diff --git a/.travis.yml b/.travis.yml
index 32250edf71176e1f577c6ff67edf85a6baa58970..54d18ecd5c044fb9e2b7bfa935e50b02d1b46dc2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,4 +14,7 @@ script:
   - make -C unix-cpy CC=gcc-4.7
   - make -C bare-arm
   - make -C stmhal
-  - (cd tests && MICROPY_CPYTHON3=python3.3 ./run-tests || for exp in *.exp; do testbase=$(basename $exp .exp); echo -e "\nFAILURE $testbase"; diff $testbase.exp $testbase.out; done && exit 1)
+  - (cd tests && MICROPY_CPYTHON3=python3.3 ./run-tests)
+
+after_failure:
+  - (cd tests && for exp in *.exp; do testbase=$(basename $exp .exp); echo -e "\nFAILURE $testbase"; diff $testbase.exp $testbase.out; done)