diff --git a/.travis.yml b/.travis.yml
index 2abe857893..5ed6e43e67 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,3 +7,4 @@ env:
   global:
   - secure: Besg41eyU+2mfxrywQ4ydOShMdc34ImaO0S0ENP+aCOBuyNBIgP59wy5tBMmyai2/8eInYeVps4Td96mWInMMxzTe3Bar7eTLG5tWVKRSr/wc4NBPZ/ppoPAmCEsz9Y+VptRH9/FO8n7hsL9EFZ+xBKbG+C0SccGoyBDpA5j7/w=
   - secure: Ptiv7phCImFP3ALIz+sMQzrZg8k7C1gLZbFBhWxjnQr3g06wIfX3Ls5y9OHvxid+lOZZjISui3wzBVgpVHqwHUYf96+r0mo6/mJ+F4ffUmShZANVaIMD/JRTnXhUQJbvntGLvxn1EYWPdNM+2IHJrMipnjHxU9tkgAnlel4Zdew=
+  - TWBS_HAVE_OWN_BROWSERSTACK_KEY: ""
diff --git a/Gruntfile.js b/Gruntfile.js
index 71a87bdb0a..7f87fd6e97 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -130,8 +130,12 @@ module.exports = function(grunt) {
 
   // Test task.
   var testSubtasks = ['jshint', 'qunit'];
+  // Only run BrowserStack tests under Travis
   if (process.env.TRAVIS) {
-    testSubtasks.push('browserstack_runner');
+    // Only run BrowserStack tests if you are twbs or have your own BrowserStack key
+    if (process.env.TRAVIS_REPO_SLUG === 'twbs/bootstrap' || process.env.TWBS_HAVE_OWN_BROWSERSTACK_KEY) {
+      testSubtasks.push('browserstack_runner');
+    }
   }
   grunt.registerTask('test', testSubtasks);