diff --git a/packages/create-react-app/index.js b/packages/create-react-app/index.js
index 7c9394ea371da5f681a689797a6dcdca95fe5af4..399bfdd213734cc0fba2333c9c7e2d6e2665a7ad 100644
--- a/packages/create-react-app/index.js
+++ b/packages/create-react-app/index.js
@@ -138,7 +138,7 @@ function createApp(name, verbose, version) {
 
 function shouldUseYarn() {
   try {
-    execSync('yarn --version', {stdio: 'ignore'});
+    execSync('yarnpkg --version', {stdio: 'ignore'});
     return true;
   } catch (e) {
     return false;
@@ -149,7 +149,7 @@ function install(packageToInstall, verbose, callback) {
   var command;
   var args;
   if (shouldUseYarn()) {
-    command = 'yarn';
+    command = 'yarnpkg';
     args = [ 'add', '--dev', '--exact', packageToInstall];
   } else {
     command = 'npm';
diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js
index 2ae89a4530ee42655915ae2e24c429da9e9bc5ba..d97f814ecac54c208d03933530dc6ee17e1454cc 100644
--- a/packages/react-scripts/scripts/eject.js
+++ b/packages/react-scripts/scripts/eject.js
@@ -147,7 +147,7 @@ prompt(
   if (pathExists.sync(paths.yarnLockFile)) {
     console.log(cyan('Running yarn...'));
     fs.removeSync(ownPath);
-    spawnSync('yarn', [], {stdio: 'inherit'});
+    spawnSync('yarnpkg', [], {stdio: 'inherit'});
   } else {
     console.log(cyan('Running npm install...'));
     fs.removeSync(ownPath);
diff --git a/packages/react-scripts/scripts/init.js b/packages/react-scripts/scripts/init.js
index c9a4ea14ac45b5c1589ef248fa926628db05a757..4d0d91e9f816427bb8fd7c8c7672563ee3cebe1f 100644
--- a/packages/react-scripts/scripts/init.js
+++ b/packages/react-scripts/scripts/init.js
@@ -65,7 +65,7 @@ module.exports = function(appPath, appName, verbose, originalDirectory) {
   var args;
 
   if (useYarn) {
-    command = 'yarn';
+    command = 'yarnpkg';
     args = ['add'];
   } else {
     command = 'npm';