diff --git a/lib/index.js b/lib/index.js
index <HASH>..<HASH> 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -170,7 +170,10 @@ analyzer.prototype = {
 				return this.error('Empty CSS was provided', analyzer.EXIT_EMPTY_CSS);
 			}
 
-			this.tree = cssParser(css);
+			this.tree = cssParser(css, {
+				// errors are listed in the parsingErrors property instad of being thrown (#84)
+				silent: true
+			});
 		} catch (ex) {
 			var errMsg = 'CSS parsing failed: ' + ex.reason + ' @ ' + ex.line + ':' + ex.column;
 
@@ -218,12 +221,12 @@ analyzer.prototype = {
 					//  "declarations":[{"type":"declaration","property":"border","value":"0"},{"type":"declaration","property":"background","value":"none"}]
 					// }
 				case 'rule':
-					this.emit('rule', rule);
-
 					if (!rule.selectors || !rule.declarations) {
 						return;
 					}
 
+					this.emit('rule', rule);
+
 					// analyze each selector and declaration
 					rule.selectors.forEach(function(selector) {
 						var parsedSelector,
Run cssParser in silent mode to be able to catch errors