diff --git a/config/paths.js b/config/paths.js
index bb1ba7612586d50fd3c5f47cf5f320cc2576a249..c3594e145191b319515b5780f91a9929157d6da8 100644
--- a/config/paths.js
+++ b/config/paths.js
@@ -39,6 +39,7 @@ var nodePaths = (process.env.NODE_PATH || '')
 module.exports = {
   appBuild: resolveApp('build'),
   appHtml: resolveApp('index.html'),
+  appIndexJs: resolveApp('src/index.js'),
   appPackageJson: resolveApp('package.json'),
   appSrc: resolveApp('src'),
   testsSetup: resolveApp('src/setupTests.js'),
@@ -56,6 +57,7 @@ function resolveOwn(relativePath) {
 module.exports = {
   appBuild: resolveApp('build'),
   appHtml: resolveApp('index.html'),
+  appIndexJs: resolveApp('src/index.js'),
   appPackageJson: resolveApp('package.json'),
   appSrc: resolveApp('src'),
   testsSetup: resolveApp('src/setupTests.js'),
@@ -70,6 +72,7 @@ module.exports = {
 module.exports = {
   appBuild: resolveOwn('../build'),
   appHtml: resolveOwn('../template/index.html'),
+  appIndexJs: resolveOwn('../template/src/index.js'),
   appPackageJson: resolveOwn('../package.json'),
   appSrc: resolveOwn('../template/src'),
   testsSetup: resolveOwn('../template/src/setupTests.js'),
diff --git a/config/webpack.config.dev.js b/config/webpack.config.dev.js
index 86f592ba5b8288fd4842ce641fd9bf758198ba11..a88409f2d055891dbeb2a50b9464293ba24ab16b 100644
--- a/config/webpack.config.dev.js
+++ b/config/webpack.config.dev.js
@@ -49,7 +49,7 @@ module.exports = {
     // We ship a few polyfills by default.
     require.resolve('./polyfills'),
     // Finally, this is your app's code:
-    path.join(paths.appSrc, 'index')
+    paths.appIndexJs
     // We include the app code last so that if there is a runtime error during
     // initialization, it doesn't blow up the WebpackDevServer client, and
     // changing JS code would still trigger a refresh.
diff --git a/config/webpack.config.prod.js b/config/webpack.config.prod.js
index 2a482f9547e3d8b6a71553579808068d6e0bb047..552ded485512c086646f95e66c0fa035b94c2640 100644
--- a/config/webpack.config.prod.js
+++ b/config/webpack.config.prod.js
@@ -48,7 +48,7 @@ module.exports = {
   // In production, we only want to load the polyfills and the app code.
   entry: [
     require.resolve('./polyfills'),
-    path.join(paths.appSrc, 'index')
+    paths.appIndexJs
   ],
   output: {
     // The build folder.
diff --git a/scripts/start.js b/scripts/start.js
index be1d6f80e0d2db2dab5d0d01bbcfd16b5cd45bdf..185299052bfde433c6d54a3d9ca476b281ab9e73 100644
--- a/scripts/start.js
+++ b/scripts/start.js
@@ -11,6 +11,7 @@
 
 process.env.NODE_ENV = 'development';
 
+var fs = require('fs');
 var path = require('path');
 var chalk = require('chalk');
 var webpack = require('webpack');
@@ -170,6 +171,20 @@ function openBrowser(port, protocol) {
   opn(protocol + '://localhost:' + port + '/');
 }
 
+function checkRequiredFiles() {
+  var filesPathToCheck = [paths.appHtml, paths.appIndexJs];
+  filesPathToCheck.forEach(function(filePath) {
+    try {
+      fs.accessSync(filePath, fs.F_OK);
+    } catch (err) {
+      var fileName = path.basename(filePath);
+      console.log(
+        chalk.red(`Cannot find ${fileName} in ${filePath} directory`)
+      );
+      process.exit(1);
+    }
+  });
+}
 // We need to provide a custom onError function for httpProxyMiddleware.
 // It allows us to log custom error messages on the console.
 function onProxyError(proxy) {
@@ -180,7 +195,7 @@ function onProxyError(proxy) {
       ' from ' + chalk.cyan(host) + ' to ' + chalk.cyan(proxy) + '.'
     );
     console.log(
-      'See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (' + 
+      'See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (' +
       chalk.cyan(err.code) + ').'
     );
     console.log();
@@ -190,7 +205,7 @@ function onProxyError(proxy) {
     if (res.writeHead && !res.headersSent) {
         res.writeHead(500);
     }
-    res.end('Proxy error: Could not proxy request ' + req.url + ' from ' + 
+    res.end('Proxy error: Could not proxy request ' + req.url + ' from ' +
       host + ' to ' + proxy + ' (' + err.code + ').'
     );
   }
@@ -304,6 +319,7 @@ function runDevServer(port, protocol) {
 
 function run(port) {
   var protocol = process.env.HTTPS === 'true' ? "https" : "http";
+  checkRequiredFiles();
   setupCompiler(port, protocol);
   runDevServer(port, protocol);
 }