diff --git a/config/babel.dev.js b/config/babel.dev.js
index d122f108150ff1a5e01db6b76b6896280164e63d..ee7d4fdf6db8a13d4ca6b114f4fa1e36cebb6d3d 100644
--- a/config/babel.dev.js
+++ b/config/babel.dev.js
@@ -10,13 +10,15 @@
 // @remove-on-eject-end
 
 var path = require('path');
+var findCacheDir = require('find-cache-dir');
 
 module.exports = {
   // Don't try to find .babelrc because we want to force this configuration.
   babelrc: false,
   // This is a feature of `babel-loader` for webpack (not Babel itself).
-  // It enables caching results in OS temporary directory for faster rebuilds.
-  cacheDirectory: true,
+  // It enables caching results in ./node_modules/.cache/react-scripts/
+  // directory for faster rebuilds.
+  cacheDirectory: findCacheDir({ name: 'react-scripts' }),
   presets: [
     // Latest stable ECMAScript features
     require.resolve('babel-preset-latest'),
diff --git a/package.json b/package.json
index a6bf6f384abfcf202dc607be29d055a7f2a0f219..6c60f218dba4a266e7b508ffb8fcb8333eaf4ad6 100644
--- a/package.json
+++ b/package.json
@@ -56,6 +56,7 @@
     "extract-text-webpack-plugin": "1.0.1",
     "file-loader": "0.9.0",
     "filesize": "3.3.0",
+    "find-cache-dir": "^0.1.1",
     "fs-extra": "0.30.0",
     "gzip-size": "3.0.0",
     "html-loader": "0.4.3",