diff --git a/.travis.yml b/.travis.yml
index a5a1bac2bc0bb1a890fd925c85b6921697078a5d..387796c5f2f3e3161b481eee97ba778d32403544 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,6 +12,7 @@ before_install:
   - if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then export TWBS_DO_VALIDATOR=0; fi
 install:
   - bundle install --deployment --jobs=3
+  - cp grunt/npm-shrinkwrap.json ./
   - npm install -g grunt-cli
   - npm install
 cache:
diff --git a/Gruntfile.js b/Gruntfile.js
index e4d0e43e7c641a3274a61048275f41851ea9e1b5..dbcf935a82ac0d0980843e37be85b9fd8b459d5d 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -509,7 +509,7 @@ module.exports = function (grunt) {
       if (err) {
         grunt.fail.warn(err);
       }
-      var dest = 'test-infra/npm-shrinkwrap.json';
+      var dest = 'grunt/npm-shrinkwrap.json';
       fs.renameSync('npm-shrinkwrap.json', dest);
       grunt.log.writeln('File ' + dest.cyan + ' updated.');
       done();
diff --git a/test-infra/npm-shrinkwrap.json b/grunt/npm-shrinkwrap.json
similarity index 100%
rename from test-infra/npm-shrinkwrap.json
rename to grunt/npm-shrinkwrap.json