diff --git a/lib/plugins/package/lib/zipService.js b/lib/plugins/package/lib/zipService.js
index <HASH>..<HASH> 100644
--- a/lib/plugins/package/lib/zipService.js
+++ b/lib/plugins/package/lib/zipService.js
@@ -1,5 +1,6 @@
 'use strict';
 
+const { ServerlessError } = require('../../../classes/Error');
 const BbPromise = require('bluebird');
 const archiver = require('archiver');
 const os = require('os');
@@ -120,11 +121,16 @@ module.exports = {
       // Get file contents and stat in parallel
       this.getFileContent(fullPath),
       fs.statAsync(fullPath),
-    ]).then(result => ({
-      data: result[0],
-      stat: result[1],
-      filePath,
-    }));
+    ]).then(
+      result => ({
+        data: result[0],
+        stat: result[1],
+        filePath,
+      }),
+      error => {
+        throw new ServerlessError(`Cannot read file ${filePath} due to: ${error.message}`);
+      }
+    );
   },
 
   // Useful point of entry for e.g. transpilation plugins
fix(Packaging): Expose meaningfully file access errors (#<I>)