diff --git a/src/Services/EventActionService.cpp b/src/Services/EventActionService.cpp
index 668189a5585076759f936cd3f524c45614670f82..2eb47acdcb08b4e9e6a5e2afe5bb0641d545ab96 100644
--- a/src/Services/EventActionService.cpp
+++ b/src/Services/EventActionService.cpp
@@ -182,11 +182,13 @@ void EventActionService::executeAction(uint16_t eventID) {
 	// Custom function
 	if (eventActionFunctionStatus) {
 		if (eventActionDefinitionMap.find(eventID) != eventActionDefinitionMap.end()) {
-			if (eventActionDefinitionMap[eventID].enabled) {
-				MessageParser messageParser;
-				Message message = messageParser.parseRequestTC(
-					eventActionDefinitionMap[eventID].request);
-				messageParser.execute(message);
+			auto range = eventActionDefinitionMap.equal_range(eventID);
+			for (auto& element = range.first; element != range.second; ++element){
+				if (element->second.enabled == true){
+					MessageParser messageParser;
+					Message message = messageParser.parseRequestTC(element->second.request);
+					messageParser.execute(message);
+				}
 			}
 		}
 	}