diff --git a/src/include/switch_cpp.h b/src/include/switch_cpp.h
index 44e85185a6..83adac6867 100644
--- a/src/include/switch_cpp.h
+++ b/src/include/switch_cpp.h
@@ -186,7 +186,7 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
 		 switch_event_node_t *enodes[SWITCH_EVENT_ALL + 1];
 		 uint32_t node_index;
 
-		 SWITCH_DECLARE_CONSTRUCTOR EventConsumer(const char *event_name = NULL, const char *subclass_name = "");
+		 SWITCH_DECLARE_CONSTRUCTOR EventConsumer(const char *event_name = NULL, const char *subclass_name = "", int len = 5000);
 		 SWITCH_DECLARE_CONSTRUCTOR ~ EventConsumer();
 		 SWITCH_DECLARE(int) bind(const char *event_name, const char *subclass_name = "");
 		 SWITCH_DECLARE(Event *) pop(int block = 0, int timeout = 0);
diff --git a/src/switch_cpp.cpp b/src/switch_cpp.cpp
index 5408edb828..0f7a52066b 100644
--- a/src/switch_cpp.cpp
+++ b/src/switch_cpp.cpp
@@ -50,11 +50,11 @@ static void event_handler(switch_event_t *event)
 
 }
 
-SWITCH_DECLARE_CONSTRUCTOR EventConsumer::EventConsumer(const char *event_name, const char *subclass_name)
+SWITCH_DECLARE_CONSTRUCTOR EventConsumer::EventConsumer(const char *event_name, const char *subclass_name, int len)
 {
 
 	switch_core_new_memory_pool(&pool);	
-	switch_queue_create(&events, 5000, pool);
+	switch_queue_create(&events, len, pool);
 	node_index = 0;
 	
 	if (!zstr(event_name)) {