diff --git a/.travis.yml b/.travis.yml
index 7abb5811808e0ddfddf193c3802ca75f59862ba4..e53ac1328abc20d62df9a3a07e7d96bfddf5bce6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,18 @@
 language: python
 install: pip install pyyaml
-script: ./make.py
-after_success: |
+script: |
+  if [ $TRAVIS_PULL_REQUEST != "false" ]; then
+    ./make.py clean
+  fi
+  echo "PULL_REQUEST: '${TRAVIS_PULL_REQUEST}'"
+  ./make.py
+  if [ -n "$(git status --porcelain)" -a $TRAVIS_PULL_REQUEST != "false" ]; then
+    echo New changes were found after re-generating the tests.
+    echo Please, read the documentation on procedurally generated tests
+    echo 'https://github.com/tc39/test262/blob/master/CONTRIBUTING.md#procedurally-generated-tests'
+    exit 1
+  fi
+deploy: |
   if [ $TRAVIS_EVENT_TYPE != "push" -o $TRAVIS_BRANCH != "master" ]; then
     echo This job is not running against a commit that has been merged to master.
     echo Skipping deployment.