diff --git a/bin/commands/runs.js b/bin/commands/runs.js
index 99c6699c..0a439ff6 100644
--- a/bin/commands/runs.js
+++ b/bin/commands/runs.js
@@ -365,10 +365,10 @@ module.exports = function run(args, rawArgs) {
                       }
 
                       // Generate custom report!
-                      reportGenerator(bsConfig, data.build_id, args, rawArgs, buildReportData, function(){
+                      reportGenerator(bsConfig, data.build_id, args, rawArgs, buildReportData, function(modifiedExitCode=exitCode){
                         utils.sendUsageReport(bsConfig, args, `${message}\n${dashboardLink}`, Constants.messageTypes.SUCCESS, null, buildReportData, rawArgs);
                         markBlockEnd('postBuild');
-                        utils.handleSyncExit(exitCode, data.dashboard_url);
+                        utils.handleSyncExit(modifiedExitCode, data.dashboard_url);
                       });
                     } else if(!turboScaleSession){
                       let stacktraceUrl = getStackTraceUrl();
diff --git a/bin/helpers/reporterHTML.js b/bin/helpers/reporterHTML.js
index 541a0a28..c12da320 100644
--- a/bin/helpers/reporterHTML.js
+++ b/bin/helpers/reporterHTML.js
@@ -105,6 +105,9 @@ let reportGenerator = async (bsConfig, buildId, args, rawArgs, buildReportData,
     logger.error('Generating the build report failed.');
     logger.error(utils.formatRequest(error.response.statusText, error.response, error.response.data));
     utils.sendUsageReport(bsConfig, args, message, messageType, errorCode, buildReportData, rawArgs);
+    if (cb){
+      cb(Constants.ERROR_EXIT_CODE);
+    }
     return;
   }
 }