diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -142,6 +142,10 @@ EventEmitterProto.trigger = EventEmitterProto.emit;
  * @description Super small and simple interpretation of popular event management.
  */
 function EventEmitter() {
+    if (!(this instanceof EventEmitter)) {
+        return new EventEmitter();
+    }
+    
     this._listeners = [];
 }
 
diff --git a/test/unit/specs/test.super-event-emitter.js b/test/unit/specs/test.super-event-emitter.js
index <HASH>..<HASH> 100644
--- a/test/unit/specs/test.super-event-emitter.js
+++ b/test/unit/specs/test.super-event-emitter.js
@@ -24,6 +24,14 @@ describe('EventEmitter', function () {
             expect(spyFn).toHaveBeenCalled();
         });
 
+        it('should create a new instance when called without `new`', function() {
+            var instance = EventEmitter();
+            var instance2 = EventEmitter();
+
+            expect(instance).not.toBe(instance2);
+            expect(instance.on).toBeDefined();
+        });
+
         it('should allow mixing with existing objects', function() {
             var existing = {};
             EventEmitter.mixin(existing);
Allow `new`-less instantiation and prevent a global object leak