diff --git a/lib/worker.js b/lib/worker.js
index 61c5024fc166992bba442721e1b0dad7b19e978b..38028c3b6c03b3aad53283cd6911cf64457acf02 100644
--- a/lib/worker.js
+++ b/lib/worker.js
@@ -4,6 +4,7 @@ var fs = require("fs");
 var path = require("path");
 var vm = require("vm");
 var noop = require(path.join(__dirname, "noop.js"));
+var events = /^(error|message)$/;
 
 function trim(arg) {
 	return arg.replace(/^(\s+|\t+|\n+)|(\s+|\t+|\n+)$/g, "");
@@ -34,7 +35,9 @@ process.once("message", function (obj) {
 		onmessage: void 0,
 		onerror: void 0,
 		addEventListener: function addEventListener(event, fn) {
-			global["on" + event] = global.self["on" + event] = fn;
+			if (events.test(event)) {
+				global["on" + event] = global.self["on" + event] = fn;
+			}
 		}
 	};
 
diff --git a/package.json b/package.json
index d2e5114a668ea8b138765f2b709f228e467ce1fe..877e353b53658aa027995812e8e9c1bc7b711dea 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "tiny-worker",
-  "version": "1.1.3",
+  "version": "1.1.4",
   "description": "Tiny WebWorker for Server",
   "main": "lib/index.js",
   "scripts": {
diff --git a/src/worker.js b/src/worker.js
index f7182d5e1798830d34edf9285368fcb5cdd88806..74e598d14857d2e61f68f8616017c96d1951d4f7 100644
--- a/src/worker.js
+++ b/src/worker.js
@@ -2,6 +2,7 @@ const fs = require("fs");
 const path = require("path");
 const vm = require("vm");
 const noop = require(path.join(__dirname, "noop.js"));
+const events = /^(error|message)$/;
 
 function trim (arg) {
 	return arg.replace(/^(\s+|\t+|\n+)|(\s+|\t+|\n+)$/g, "");
@@ -32,7 +33,9 @@ process.once("message", obj => {
 		onmessage: void 0,
 		onerror: void 0,
 		addEventListener: (event, fn) => {
-			global["on" + event] = global.self["on" + event] = fn;
+			if (events.test(event)) {
+				global["on" + event] = global.self["on" + event] = fn;
+			}
 		}
 	};